nosql
文章平均质量分 81
杨步涛的博客
老杨,目前居住上海 微信:yangbt_6225080 qq:306591368 擅长云计算、分布式系统设计、docker容器化技术、海量数据的存储、搜索、数据挖掘。
展开
-
关于数据库索引设计的几个常用算法
B+、B- Tree(mysql,oracle,mongodb) 主要用在关系数据库的索引中,如oracle,mysql innodb;mongodb中的索引也是B-树实现的;还有HBase中HFile中的DataBlock的索引等等。 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tre原创 2012-12-23 19:57:50 · 10717 阅读 · 0 评论 -
分布式数据库的一致性探讨
数据库大体分为以下几类,有关系型(事务型)的数据库,以oracle、mysql为代表,有keyvalue数据库,以redis和memcached db为代表,有文档型数据库如mongodb,有列式数据库以HBase,cassandra,dynamo为代表,还要其他的图形数据库、对象数据 库、xml数据库等。有些数据库本身就是分布式的数据库设计理念,比如上面的列式数据库;有些本身是单节点的设计架原创 2012-12-22 19:32:17 · 8670 阅读 · 0 评论 -
mongodb和redis设计原理简析
redis: 1、NIO通信 因都在内存操作,所以逻辑的操作非常快,减少了CPU的切换开销,所以为单线程的模式(逻辑处理线程和主线程是一个)。 reactor模式,实现自己的多路复用NIO机制(epoll,select,kqueue等) 单线程处理多任务2、数据结构 hash+bucket结构,当链表的长度过长时,会采取迁移的措施(扩展原来两原创 2012-12-17 21:36:31 · 7427 阅读 · 0 评论 -
基于redis的分布式缓存disgear开源到github上了
基于redis实现的分布式的缓存,支持数据切分到多台机器上,支持HA,支持读写分离和主节点失效自动选举 1. 需求 1) 性能内存操作,读写性能要求比较高2) 数据量支持数据切分,分为多个Shard,每个shard负责一定范围的数据3) 伸缩性当单个节点的数据量比较大的时,可以对该节原创 2013-11-23 13:52:14 · 17949 阅读 · 5 评论