发布于 2017-11-06 23:56:55 | 151 次阅读 | 评论: 0 | 来源: 网友投递
ArangoDB 高性能 NoSQL 数据库
ArangoDB是一个开源数据库,具有灵活的数据模型,如document,graph以及key-value.同时也是一个高性能数据库,支持类似SQL的查询以及JavaScript活Ruby扩展.
ArangoDB v3.3.beta1 发布(官方发行说明),这是 3.3 的第二个里程碑版本,主要是新的数据复制引擎的改进,包括:
重新设计更可靠的复制协议
内部架构的重构和优化以更好的支持持续的 异步复制
增加一个全局异步复制 API
自动的主从切换
该版本其他改进内容包括:
* introduce `enforceReplicationFactor`: An optional parameter controlling if the server should bail out during collection creation if there are not enough DBServers available for the desired `replicationFactor`. * fixed issue #3516: Show execution time in arangosh this change adds more dynamic prompt components for arangosh The following components are now available for dynamic prompts, settable via the `--console.prompt` option in arangosh: - '%t': current time as timestamp - '%p': duration of last command in seconds - '%d': name of current database - '%e': current endpoint - '%E': current endpoint without protocol - '%u': current user The time a command takes can be displayed easily by starting arangosh with `--console.prompt "%p> "`. * make the ArangoShell refill its collection cache when a yet-unknown collection is first accessed. This fixes the following problem: arangosh1> db._collections(); // shell1 lists all collections arangosh2> db._create("test"); // shell2 now creates a new collection 'test' arangosh1> db.test.insert({}); // shell1 is not aware of the collection created // in shell2, so the insert will fail * enable JEMalloc background thread for purging and returning unused memory back to the operating system (Linux only) * incremental transfer of initial collection data now can handle partial responses for a chunk, allowing the leader/master to send smaller chunks (in terms of HTTP response size) and limit memory usage * initial creation of shards for cluster collections is now faster with replicationFactor values bigger than 1. this is achieved by an optimization for the case when the collection on the leader is still empty * potential fix for issue #3517: several "filesystem full" errors in logs while there's a lot of disk space * added C++ implementations for AQL function `SUBSTRING()`, `LEFT()`, `RIGHT()` and `TRIM()` * fixed issue #3395: AQL: cannot instantiate CollectBlock with undetermined aggregation method
ArangoDB 是一个开源的分布式原生多模型数据库 (Apache 2 license)。
理念:
利用一个引擎,一个 query 语法,一项数据库技术,以及多个数据模型,来最大力度满足项目的灵活性,简化技术堆栈,简化数据库运维,降低运营成本。
ArangoDB原生多模型数据库,指的是兼有图 (graph)、文档 (document)和键/值对 (key/value) 三种数据模型存储软件。其快捷灵活之处在于,它有适用于全部三种数据模型的统一内核和统一数据库查询语言——AQL (ArangoDB Query Language)。其可以涵盖全部三种数据模型,还允许在单个查询中混合使用三种数据模型。
详情可订阅发布主页。