CursusDB —— 面向文档的内存数据库

CursusDB 是一种面向文档的快速开源内存数据库,提供安全性、持久性、分布性、可用性和类似 SQL 的查询语言。

CursusDB 的设想是创建无限可扩展的东西,同时又不会真正减慢速度。假设你有 10 亿个文档存储在分布在 100 个节点的 1 个集合中,当集群同时在所有节点上启动非插入操作时,集群将在查询 1000 万个文档所需的时间内查询 10 亿个文档。这就是并行搜索的力量。Cursus 系统可同时在用户集合的多个部分中进行搜索。一个集群可以同时查询数千个节点。将主节点视为多个或一个集合的碎片。每个集合都会锁定插入、更新和删除,但由于 CursusDB 的分布式设计,它就像一个并发交换机,允许大量并发事务。一个集群或多个集群采取操作,这些操作作为请求同时转发到 1 个或多个节点。一致性和可靠性是设计 CursusDB 时的主要目标之一。

特性

  • 使用共享密钥和 OR TLS 保护集群和节点通信
  • 运行时内存中的数据
  • 并行搜索。同时搜索多个节点内的集合部分。
  • 自动为所有节点生成唯一的所有文档的 $id 键
  • 具有基本(R、RW)权限的数据库用户
  • 集群和节点认证
  • 专门针对读取的集群节点数据复制和同步
  • JSON 对象插入
  • 非结构化集合
  • 集群和客户端身份验证
  • 节点(插入、更新、删除)实时转发给观察者
  • 如果连接丢失,节点观察者自动重新连接
  • 类似 SQL 的查询语言(CDQL - Cursus 文档查询语言)
  • 低延迟
  • 高可用
  • 默认情况下使用共享密钥和用户确保安全
  • 高度可配置
  • 轻量级核心代码总共不到6000行代码
  • 基于log-max-lines配置的文件日志记录和自动日志截断
  • 自动重新连接任何丢失的节点或节点副本
  • 如果 .curodeconfig 中的 automatic-backup 设置为 true,则自动备份节点
  • 如果 .curodeconfig 中的 automatic-backup-cleanup 设置为 true,则自动清理节点备份。
  • 如果配置了自动备份,则在数据损坏时自动恢复节点
  • 节点数据(.cdat)和节点备份(/backups/.cdat.{unixtime})是在关机或备份时通过序列化-加密(chacha20poly1305)-压缩(DEFLATE)将内存中的数据序列化、加密并逐块压缩后创建的。
  • ......
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/p/cursusdb

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。