nekolr's blog

爱吃咖喱棒的打字员DA☆ZE~

磁盘存储数据的最小单元是扇区,一般一个扇区的大小是 512 字节,计算机操作系统为了更好地与磁盘通信,抽象出了簇或块的概念,一般大小为 4K。InnoDB 存储引擎也有自己的最小存储单元——页,默认页的大小为 16K,我们可以通过以下命令查看该值。

Read more »

索引本质上是一种数据结构,能够帮助数据库高效地获取数据。我们都知道 MySQL 数据库使用 B+树作为索引的实现,那么具体是如何实现的呢,下面进行详细的探究。

Read more »

布隆过滤器(Bloom Filter)由布隆于 1970 年提出,它实际上由一个很长的二进制向量和一系列随机映射函数组成。布隆过滤器可以用于查询一个元素是否在一个集合中,它的优点是空间和时间效率都远超一般的算法,缺点是会有一定的误判和删除困难。

Read more »

在 Java 中,官方提供了一个 Bitmap 的简单实现,它就是 java.util.BitSet

Read more »

先考虑一个问题:有 40 亿个不重复且无序的无符号整数,如何判断一个整数是否在这 40 亿个整数中,要求使用的内存不超过 2GB。

Read more »

在初步了解了 keepalived 的作用后,手痒难耐,于是动手实践部署了一个 Nginx + keepalived + Tomcat 组合的双主高可用负载均衡集群。

Read more »

当前很多大型的应用系统都使用了服务器集群技术,集群将相同的服务部署在多台服务器上构成一个整体来对外提供服务,这些集群有的是 Web 应用服务器集群,有的是数据库服务器集群等等。而在 Web 应用服务器集群的最前端,一般总会有一台负载均衡服务器,作为客户端流量的入口,负责将客户端的请求转发给合适的服务器来处理。

Read more »

通常来说,数据库是比较容易成为系统瓶颈的,因为它本身是有状态的,相对于 Web 和应用服务器来说,比较难于横向扩展。而数据库的单机存储量、连接数和处理能力都是有限的,因此当一个数据库的单表数据达到一定的量级后,即使进行多种优化,比如添加从库、优化索引等,可能性能仍然下降严重,此时就需要考虑对其进行分库分表的操作了。

分库分表是拆分数据库和拆分数据表的统称,一般情况下会根据业务情况来决定是分库还是分表,或者是二者相结合。而根据拆分方式的不同,又分为垂直拆分和水平拆分。

Read more »

Java 8 发布至今已经有好长一段时间了,但是在实际工作中使用函数式编程的机会还是太少,对于 Java 的函数式编程了解的还是不够深入,因此借着阅读《Java 8 in Action》的机会将自己的心得体会记录一下。

Read more »
0%