IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Key-Value

共 7 篇相关文章

IT 累计浏览 10,519

基于Redis构建系统的经验和教训

这篇文章从实际应用出发,讨论了Redis的优势与局限,并对比了其他海量数据存储方案。作者指出,Redis的有序集合(zset)等丰富数据结构使其在表达业务逻辑时极为高效,特别适合对性能要求高、数据规模可控的场景,比如消息传递系统的收发件箱。 然而,Redis“所有数据必须存放在内存中”的核心设计,直接导致了容量瓶颈和高昂的硬件成本。作者通过计算说明,对于一个百万级用户系统,数据量轻松超过单机内存极限。由此还引发了一系列问题:持久化时fork进程占用双倍内存,Aof日志写盘可能阻塞系统,以及不成熟的主从复制可能因网络抖动产生全量同步,严重消耗带宽。单机架构也迫使开发者在业务逻辑之外,必须额外设计复杂的数据分片方案。 面对海量数据,文章对比了Cassandra、HBase和MongoDB等方案。作者认为纯键值存储(如Cassandra)对结构化数据的表达能力太弱;而像HBase这类系统,其数据模型提供了更有序的组织方式。文章最终提出的观点是:理想的存储方案应当提供基础的有序数据结构,允许开发者通过“实体”加“有序子集”的方式来自然映射业务逻辑,从而在海量数据规模下,实现高效的数据访问与传输。 因此,Redis应定位在小而美的高性能缓存或结构化存储层,而非追求海量数据的存储目标。

IT 累计浏览 3,092

Oracle NoSQL Database

这篇讲的是Oracle新发布的NoSQL数据库。作者从Oracle近日提供该数据库企业版下载切入,快速梳理了文档透露出的关键信息。 文章明确指出了当前版本的一个核心事实:目前下载只包含企业版,开源的社区版尚未提供,因此暂时无法查看源码。不过,即便基于现有文档,也能初步勾勒出这款数据库的特点。作者的快速总结,为读者提供了一个了解Oracle这项新产品技术轮廓的快捷入口。 虽然缺乏源码级的剖析,但文章聚焦于产品发布的现状和获取途径,这对评估该数据库是否符合自身技术选型需求,提供了直接、必要的基础信息。如果对Oracle在NoSQL领域的布局感兴趣,这是一个值得持续关注的起点。

IT 累计浏览 1,832

基础系统软件的价值

这篇从盛大云推出IaaS服务讲起,像Amazon AWS那样。但作者一看就皱了眉:它的结构化数据管理功能实在太弱,只有最基础的Key-Value,操作仅限GET/PUT/DEL。 作者认为这很不靠谱。因为对于99.9%的应用而言,结构化数据管理是刚需。而缺少条件更新、锁机制、扫描等关键能力的简易KV服务,会让应用开发变得异常繁琐和受限。比如,你需要自己在应用层艰难地模拟事务和复杂查询。 这实际上点出了一个普遍性问题:许多看似基础的“管道”和“砖块”(如KV存储、消息队列、进程管理),其设计是否扎实、功能是否完整,会极大地影响上层系统的开发效率和可靠性。作者通过这个具体案例,揭示了基础系统软件往往被低估的深层价值。

IT 累计浏览 4,037

Handler-Socket Plugin for MySQL

这篇讨论的是如何用MySQL高效存储键值数据。作者从自身经验出发,一直主张对于大多数QPS要求不极端的系统,MySQL是可靠且够用的选择——优化后的K/V请求能在SQL层实现每核心约5k的QPS。 文章核心对比了两种模式:传统通过SQL层访问与使用Handler-Socket插件直连存储引擎。Handler-Socket的关键在于绕过了SQL解析层,让应用能像操作NoSQL一样直接读写InnoDB数据,从而将每核心性能提升到更高水平。 这种方案并非要取代所有NoSQL场景,而是为那些已拥有MySQL技术栈、又需要简单高效K/V访问的系统提供了一个务实的选择:既保留了关系型数据库的事务与稳定性,又获得了接近NoSQL的吞吐能力。对于开发者来说,这或许意味着在架构上少引入一个需要维护的组件。

IT 累计浏览 8,348

Key-Value小数据库tmdb发布:原理和实现

这篇梳理了Key-Value数据库的“前世今生”。从Unix早期的dbm说起,带读者回顾了gdbm、ndbm、sdbm、cdb等一脉相承的经典实现,也提及了功能强大的Berkeley DB与近年备受关注的qdbm。 作者没有止步于罗列,而是指出了一个关键洞察:这类数据库本质上并非传统意义上的“数据库”,其核心价值在于提供一种极其简单、高效的数据存储与读取功能。这种对技术本质的界定,能帮助开发者在项目初期更清晰地判断技术选型的方向。文章虽短,但脉络清晰,点明了这类轻量级存储引擎的定位。

IT 累计浏览 4,293

闲谈分布式key-value存储服务nuclear及其他

这篇讲的是国内技术圈一度火热的 key-value 存储热潮。作者从豆瓣的 beandb、新浪的 SDD,到小道消息中的腾讯 TDB 以及人人网的 nuclear 等具体项目切入,勾勒出这股技术风潮在国内的落地图景。 文章进而追溯了这股潮流的源头:亚马逊那篇经典的 Dynamo 论文。虽然 Dynamo 本身并未开源,但它点燃了业界对分布式存储的探索。紧随其后,Facebook 引入了曾参与 Dynamo 开发的工程师,推出了开源的 Cassandra;同一理论脉络下,LinkedIn 也诞生了 Voldemort 系统。 作者通过梳理这些项目,清晰地展示了一条技术传播与演进的路径:从亚马逊的闭源实践,到 Facebook 等公司的开源实现,再到国内公司的借鉴与探索。读完这篇文章,能帮助你理解关键的 KV 存储系统并非凭空出现,而是在相似的理论基础上,结合各公司具体场景生长出来的不同枝干。

IT 累计浏览 4,643

Cassandra存储机制

这篇讨论的是Cassandra的存储机制,它作为NoSQL运动中的关键产品,由Facebook在2008年开源并迅速成为Apache顶级项目。最近,Twitter宣布从MySQL迁移至Cassandra,更凸显了其在高并发场景下的实用价值。 Cassandra的独特之处在于它巧妙地融合了Google Bigtable的数据模型和Amazon Dynamo的高可用框架。Bigtable提供了灵活的列式存储结构,适合处理海量半结构化数据;而Dynamo则通过分布式一致性算法确保了系统的高可用性和分区容错能力。两者结合,使得Cassandra既具备了高效的数据检索性能,又能在节点故障时自动恢复服务,这对于需要7×24小时不间断运行的应用来说至关重要。 在实际场景中,Cassandra特别适合那些需要水平扩展和强一致性的互联网应用,比如社交网络的时间线存储或实时数据分析。它的存储机制通过一致性哈希和副本策略,实现了数据的均匀分布和负载均衡,从而避免了单点瓶颈。 总的来说,Cassandra的存储机制展示了如何通过整合业界领先技术来应对分布式数据库的挑战,为开发者在构建可扩展、高可用系统时提供了一个可靠的选项。