摘要:CrateDB是构建在NoSQL基础之上的分布式SQL数据库,它结合了SQL的通晓程度和NoSQL的可扩展性和数据灵活性。
CrateDB
CrateDB用于机器数据的分布式SQL数据库
什么是CrateDB?
CrateDB是构建在NoSQL基础之上的分布式SQL数据库,它结合了SQL的通晓程度和NoSQL的可扩展性和数据灵活性,使开发人员能够:
- 使用SQL处理结构化或非结构化的任何类型的数据
- 以实时速度执行SQL查询,甚至是JOIN和聚合
- 简单缩放
客户经常使用CrateDB来存储和查询机器数据。这是因为CrateDB可以轻松,经济地处理机器和日志数据的速度,数量和多样性。实际上,客户已经报告CrateDB每秒摄取数百万个数据点,同时还实时查询数TB的数据…比以前的数据库快20倍,数据库硬件减少75%。
核心功能
简单可扩展
扩展数据库应该很容易,而且CrateDB也是如此。自动数据重新平衡和无共享架构使您可以简单地扩展。只需添加新机器即可创建和扩展CrateDB集群。没有必要知道如何在集群上重新分配数据,因为CrateDB会为您完成。
分布式SQL查询,聚合和搜索
CrateDB的分布式SQL查询引擎具有列式字段缓存和更现代的查询计划器。这些使CrateDB具有以内存速度执行聚合,JOIN,子选择和即席查询的独特能力。CrateDB还集成了原生全文搜索功能,使您可以将结构化或非结构化数据存储和查询在一起。因此,您不再需要使用单独的SQL和搜索数据库来管理表格和非表格数据。
高可用
即使数据中心出现问题,CrateDB也会继续运行。跨群集自动复制数据和滚动软件更新有助于确保硬件故障和计划维护不会中断对数据的访问。此外,CrateDB集群是自我修复的,因此当节点添加到集群时,CrateDB会自动使用数据加载它们。
实时数据摄取
分析数据通常分批加载,具有事务锁和其他开销。相比之下,CrateDB消除了锁定开销以实现大规模写入性能(例如,商用硬件上每个节点每秒插入40.000+次)。此外,即使正在进行写入操作,CrateDB也可以提供毫秒级的查询性能。
任何数据和BLOB
CrateDB支持关系数据以及嵌套的JSON文档所有嵌套的JSON属性都可以包含在任何SQL命令中。此外,CrateDB还提供BLOB存储,因此您可以存储和检索BLOB,如图片,视频或大型非结构化文件 - 为BLOB存储提供完全分布式的集群解决方案。
时间序列分析
时间序列数据对于识别趋势和异常非常重要。CrateDB使用自动表分区快速简便地进行时间序列分析,自动表分区就像虚拟表一样可以查询,移动或删除。按时间间隔对数据进行分区可提供非常快速的时间序列查询性能。
地理空间查询
位置对于许多机器数据分析很重要。因此,CrateDB可以使用geo_point和geo_shape类型存储和查询地理信息。您可以控制地理索引的精度和分辨率以获得更快的查询结果,还可以使用标量函数(如交叉,包含和距离)运行查询。
动态模式
与许多其他SQL数据库不同,CrateDB模式非常灵活。您可以随时添加列,而不会降低性能或停机时间。这对于敏捷开发和快速部署非常有用。
事务
CrateDB终是一致的,但提供了事务语义。CrateDB在行级别是一致的,因此每行都是完全写入的。通过提供写后读一致性,我们允许在写入后立即对单个记录进行同步实时访问。
尽管CrateDB不支持具有回滚等的ACID事务,但它通过提供内部版本控制来提供乐观并发控制,允许检测和解决写入冲突。
备份
CrateDB可以将数据库的增量快照保存到存储。快照包含创建快照时CrateDB集群中表的状态,并且可以随时还原到集群中。
开放性和灵活性
- 在数据中心或云中的任何位置运行CrateDB
- 从大多数语言,SQL应用程序或SQL BI工具连接到CrateDB
- 通过编写自己的插件来扩展CrateDB功能
- 将CrateDB部署为Docker,Kubernetes或其他人的容器
- 在Apache 2.0开源许可下免费使用CrateDB Community Edition。
CrateDB何时适合您?
企业和初创公司经常使用CrateDB来支持实时机器数据监控和分析仪表板。但是,如果您需要,CrateDB是任何应用程序的不错选择:
- 具有集成搜索的水平可伸缩关系SQL数据库
- 开源SQL数据库的经济性和易用性
- 快速搜索,聚合或即席查询
- 你需要在同时写入数据的同时实时查询数据
- 你有大量的数据(数百TB)
- 高度可用的数据库,零停机时间
什么时候CrateDB不是你的好选择?
另一方面,如果您需要,CrateDB可能不是一个好的选择:
- 强(ACID)事务一致性
- 高度规范化的模式,包含许多表和许多连接(join)
原文连接: https://crate.io/products/cratedb