key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。如果辅以Real- Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。
虽然key-value分布式存储具有极高的性能,但是只能做类似于MySQL的SELECT * FROM table WHERE id = 123;简单主键查询。
“搜索索引引擎+key-value分布式存储”能够实现高并发的复杂条件查询、全文检索与数据显示。但是,由于索引更新需要时间,目前还不能实现完全意义上的Real-Time Search(实时搜索),只能称之为Near Real-Time Search(准实时搜索)。“搜索索引引擎+key-value分布式存储”除了做全文检索外,还可以在允许的索引延迟范围内,取代MySQL进行复杂条件查询。
我的文章《亿级数据的高并发通用搜索引擎架构设计》的程序编码已经完成,第一轮测试昨天已经结束,能够在高并发情况下实现1分钟内索引更新,属于“Near Real-Time Search Engine(准实时搜索引擎)+key-value分布式存储”应用。其中,索引引擎采用Sphinx,存储采用key-value分布式数据库Tokyo Tyrant。
以下是常见的key-value分布式存储系统:
其中,以下几款值得关注:
1、Hypertable:它是搜索引擎公司Zvents根据Google的9位研究人员在2006年发表的一篇论文《Bigtable:结构化数据的分布存储系统》开发的一款开源分布式数据储存系统。Hypertable是按照1000节点比例设计,以 C++撰写,可架在 HDFS 和 KFS 上。尽管还在初期阶段,但已有不错的效能:写入 28M 列的资料,各节点写入速率可达7MB/s,读取速率可达 1M cells/s。Hypertable目前一直没有太多高负载和大存储的应用实例,但是最近,Hypertable项目得到了百度的赞助支持,相信其会有更好的发展,地址:http://www.bt285.cn BT下载。
2、Tokyo Tyrant:它是日本最大的SNS社交网站mixi.jp开发的 Tokyo Cabinet key-value数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。Tokyo Tyrant 具有故障转移、日志文件体积小、大数据量下表现出色等优势,详见:http://www.bt285.cn/aidesefang/
Tokyo Cabinet 2009年1月18日发布的新版本(Version 1.4.0)已经实现 Table Database,将key-value数据库又扩展了一步,有了MySQL等关系型数据库的表和字段的概念,相信不久的将来,Tokyo Tyrant 也将支持这一功能。值得期待。详见:http://www.bt285.cn/sejishikong/
3、CouchDB:它是Apache社区基于 Erlang/OTP 构建的高性能、分布式容错非关系型数据库系统(NRDBMS)。它充分利用 Erlang 本身所提供的高并发、分布式容错基础平台,并且参考 Lotus Notes 数据库实现,采用简单的文档数据类型(document-oriented)。在其内部,文档数据均以 JSON 格式存储。对外,则通过基于 HTTP 的 REST 协议实现接口,可以用十几种语言进行自由操作。
4、MemcacheDB:它是新浪互动社区事业部为在Memcached基础上,增加Berkeley DB存储层而开发一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,它仍旧是个Memcached,但是,它的数据是可以持久存储的。
分享到:
相关推荐
tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 为了解决磁盘损坏导致数据丢失, ...
作为一款Key-Value存储系统,Cassandra在设计时就考虑了大规模数据存储和处理的需求,因此它非常适合那些需要处理PB级别数据、对数据可用性和读写性能有高要求的应用场景。 在Cassandra的设计哲学中,它强调了数据...
Ringo 是一个分布式的Key-Value存储系统,采用 ErLang 语言开发。支持磁盘数据存储。 Ringo is an experimental, distributed, replicating key-value store based on consistent hashing and immutable data. ...
分布式key-value系统在互联网应用中扮演着重要角色,它们被广泛用于存储和管理海量数据。随着这类系统使用的普及,系统中出现错误或者安全漏洞的风险也随之增加。特别是在遭受黑客入侵或者管理员配置错误的情况下,...
"基于Cassandra的实时气象数据分布式存储系统" 本文主要介绍了基于Cassandra的实时气象数据分布式存储系统的设计和实现。该系统采用Cassandra作为分布式存储解决方案,旨在满足气象数据存储的高可用性和性能要求。 ...
shittydb, confoundingly快速 key-value 存储 ShittyDBShittyDB是一个快速。可以扩展的key-value 存储,用轻量级。异步。可以嵌入。大写和分布式 python 编写。 这个库公开了一个非常简单的easy-to-use API,它很...
HustStore- 高性能分布式存储服务huststore 是一个高性能的分布式存储服务,不但提供了 10w QPS 级别的 kv 存储的功能,还提供了 hash、set 等一系列数据结构的支持,并且支持 二进制 的 kv 存储,可以完全取代 ...
etcd-viewer, etcd key-value 存储查看器和编辑器 etcd查看器 etcd-viewer 是一个javaweb应用程序,允许你导航和修改 etcd 分布式 key-value 存储。应用程序使用 etcd REST API 与底层 key-value 存储进行通信。正在...
Redis是一个高性能的key-value数据库,支持数据的持久化,能够快速读写数据,适合构建需要高速读写和高可用性的分布式存储系统。RabbitMQ是一种开源的消息代理软件,提供可靠、灵活的消息传递服务,适合作为系统中的...
在IT行业中,Key-Value算法是一种常见的数据存储和检索策略,尤其在大数据处理和分布式系统中广泛应用。这种算法的核心在于其简洁的结构:每个键(Key)对应一个值(Value),这种模式使得数据访问和操作变得高效且...
腾讯CKV海量分布式存储系统是腾讯公司自主研发的一款高性能、低延时、持久化且分布式的KV(key-value)存储服务。它在微信平台、开放平台、腾讯云、游戏和电商平台中得到广泛应用,应对日访问量超过万亿次的挑战。该...
RocksDB 是 Facebook 开源的一款高性能、可嵌入式的键值存储系统,主要用于处理大规模数据。它基于 Google 的 LevelDB 设计,并进行了优化和扩展,支持更广泛的应用场景,如大数据分析、实时查询以及数据库引擎。...
基于Hadoop的微博分布式存储系统的设计及构建论文 本文旨在设计和构建基于Hadoop的微博分布式存储系统,以解决当前微博系统中的并发性、扩展性和数据存储量等问题。该系统基于Hadoop框架,使用HDFS分布式文件系统和...
同时,其接口设计允许与其他存储系统集成,如分布式存储或分布式缓存。 ### 应用场景 - **日志存储**:由于Go-moss支持有序存储,它可以用于收集和分析时间序列的日志数据。 - **缓存系统**:作为本地缓存,Go-...
【船舶自动识别系统(AIS)数据分布式存储方法】 在现代航海和海洋交通管理中,船舶自动识别系统(Automatic Identification System, AIS)扮演着至关重要的角色。AIS系统能够实时发送和接收船舶的位置、速度、航行状态...
《云原生分布式存储基石 etcd深入解析》一书,主要关注的是云环境中重要的分布式键值存储系统——etcd。etcd是CoreOS公司开发的一个开源项目,它为分布式系统提供了一个高度可用、一致性的键值存储解决方案。在Java...
文章中提到的关键技术是结合了开源分布式文件系统HDFS(Hadoop Distributed File System)来实现影像数据的分布式存储和高效检索。实验结果表明,系统在多用户并发连接的情况下可以保持较高的吞吐率,并且具备良好的...
《云原生分布式存储基石 etcd 深入解析》一书由杜军撰写,主要聚焦于etcd这一关键的云原生技术。etcd是一个分布式的、高可用的键值存储系统,它在现代微服务架构和容器编排平台(如Kubernetes)中扮演着至关重要的...
FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用...追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。
基于HBASE分布式存储的通用海量日志系统设计方法研究涉及的关键技术主要包括分布式存储系统HBASE和REDIS分布式缓存技术,以及海量日志数据的高效存储与查询处理。以下详细解析了文章中提到的关键知识点。 HBASE...