键值数据库(有时称为键值存储)是一个非关系数据库,它使用简单的键值方法存储数据。它将关联数组存储、检索和维护为字典。字典由具有许多存储数据的不同字段的对象或记录组成。
键和值可以是任何东西,从基本对象到复杂的复合对象。键值数据库具有高度可分区性,并且支持其他类型的数据库无法实现的水平扩展。
什么时候需要选择键值数据库?
-
当应用程序管理许多小型连续读取和写入时,键值数据库可能是易失性的,它提供快速的内存中访问。
-
在保留客户信息等基本数据时,以URL为键,以网页为价值存储网站,存储购物车内容、产品类别和电子商务产品详细信息
-
适用于不需要频繁更新或处理复杂查询的程序。
有哪些最好的免费键值数据库呢?
-
Hbase
-
Aerospike
-
ScyllaDB
以上信息数据皆从 SaaSpace 中得到,更多信息请移步 SaaSpace 官网。
SaaSpace 筛选出这个列表除了考虑到软件必须是免费的,入选的软件还需:
-
提供数据存储
-
将数据存储和构造为映射到键的单数值
-
允许用户检索数据
1. Hbase
Hbase是一个基于Hadoop分布式文件系统(HDFS)的非关系,面向列的DBMS。它提供了一种容错方法来保存许多大数据应用程序中普遍存在的稀疏数据集。它是实时数据处理或对大量数据的任意读/写访问的理想选择。
Hbase应用程序,如Apache MapReduce应用程序,都是用Java编写的。它还支持Apache Avro,REST和Thrift中的应用程序开发。
Hbase的特点:
-
这些表由区域服务器托管的区域组成,并分布在各个 DataNode 上的区域服务器中。Hbase 支持在达到特定大小时自动和手动将这些区域拆分为较小的子区域,以减少 I/O 延迟和开销。
-
核心数据存储体系结构是日志结构的合并树(LSM 树),它定期将较小的文件合并为较大的文件。
-
Hbase与Hive很好地集成,Hive是一个用于批量处理海量数据的查询引擎,可实现容错大数据应用。
2. Aerospike
Aerospike 是一个基于云的本地 NoSQL 数据库平台,使电子商务、零售、在线游戏、电信和广告公司能够在单个平台上简化多站点群集、跨数据中心复制和负载平衡等流程。它通过加密、身份验证、基于角色的访问控制和白名单来保护数据。
Aerospike 的集群管理技术可自动识别进入和离开集群的节点,并在添加或删除节点时重新复制数据,以确保在硬件故障期间正常运行。跨数据中心复制 (XDR) 跨多个地理位置复制和同步数据。公司还可以设计和实施审计跟踪,以记录失败的数据库操作,安全违规,身份验证协议,用户管理程序等。
Aerospike的特点:
-
该数据库以 C 语言构建,并基于无共享 (SN) 体系结构。它包括三层:数据存储、自我管理分发和群集感知客户端。
-
该软件包括两个名为Darragmenter和Evictor的子程序。碎片整理程序消除了损坏的数据块,而 Evictor 通过删除对过期记录的引用来释放 RAM 空间。
-
它支持存储、索引和查询表示为 GeoJSON 的地理空间数据。
3. ScyllaDB
ScyllaDB是一个开源的分布式NoSQL数据库。它的创建是为了与Apache Cassandra合作,同时提供更大的吞吐量和更低的延迟。它支持与Cassandra相同的协议和文件格式,但是是一个完全重写的实现,使用C++20语言。
Scylla 支持 Cassandra 的协议,并包含 Amazon DynamoDB API。ScyllaDB和Cassandra几乎完全相同:CQL协议和查询,Nodetool,SSTables和压缩技术,甚至JMX支持。ScyllaDB与Cassandra等许多类似的开源应用程序和连接器兼容,包括JanusGraph,Spark,Kafka,Presto,KairosDB,Kong等。
ScyllaDB的特点:
-
该软件提供了基于Spark的ScyllaDB迁移器和迁移指南,以帮助用户轻松地将其数据从当前的Cassandra集群迁移到ScyllaDB。
-
ScyllaDB 配置为实现近 100% 的 CPU 利用率,每个操作都分配有一个优先级类。
-
独特的工作负载优先级功能允许用户以基于角色的清晰方式为不同的用户工作负载提供相对优先级。因此,企业可以安全地操作事务性工作负载和分析工作负载,同时简化其数据架构。
除了以上列举的键值数据库软件,在 SaaSpace 上还有多种数据库管理软件,可以充分满足你的数据库管理要求。此外,站内还提供各种类型的软件信息,你随时可以挑选出最符合你需求的那个。
一个好的数据库是众多业务应用程序的基础,快上 SaaSpace 找到适合你的数据库管理产品来支持你的数据管理策略吧!