发布于 2017-11-19 00:18:52 | 296 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ArangoDB 高性能 NoSQL 数据库

ArangoDB是一个开源数据库,具有灵活的数据模型,如document,graph以及key-value.同时也是一个高性能数据库,支持类似SQL的查询以及JavaScript活Ruby扩展.


ArangoDB 3.2.8 已发布,ArangoDB 是一个开源的分布式原生多模型数据库 (Apache 2 license)。

理念  

利用一个引擎,一个 query 语法,一项数据库技术,以及多个数据模型,来最大力度满足项目的灵活性,简化技术堆栈,简化数据库运维,降低运营成本。

ArangoDB原生多模型数据库,指的是兼有图 (graph)、文档 (document)和键/值对 (key/value) 三种数据模型存储软件。其快捷灵活之处在于,它有适用于全部三种数据模型的统一内核和统一数据库查询语言——AQL (ArangoDB Query Language)。其可以涵盖全部三种数据模型,还允许在单个查询中混合使用三种数据模型。

因此,用户可以在单次查询过程中混合使用多种数据模型,而无需在不同数据模型间相互“切换”,也不需要执行数据传输过程。并且这三种数据模型均支持水平扩展。基于其本地集成多模型特性,ArangoDB 原生多模型数据库适用于搭建高性能应用程序。

该版本更新内容较多,详细如下:

removed `--recycle-ids` option for arangorestore

  using that option could have led to problems on the restore, with potential
  id conflicts between the originating server (the source dump server) and the 
  target server (the restore server)

* add readonly mode REST API

* allow compilation of ArangoDB source code with g++7

* AQL: during a traversal if a vertex is not found. It will not print an ERROR to the log and continue
  with a NULL value, but will register a warning at the query and continue with a NULL value.
  The situation is not desired as an ERROR as ArangoDB can store edges pointing to non-existing
  vertex which is perfectly valid, but it may be a n issue on the data model, so users
  can directly see it on the query now and do not "by accident" have to check the LOG output.

* potential fix for issue #3562: Document WITHIN_RECTANGLE not found

* introduce `enforceReplicationFactor` attribute for creating collections: 
  this optional parameter controls if the coordinator 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

* make AQL `DISTINCT` not change the order of the results it is applied on

* 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

  this optimization is only active if client applications send the "offset" parameter
  in their requests to PUT `/_api/replication/keys/<id>?type=docs`

* 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()`

* show C++ function name of call site in ArangoDB log output

  this requires option `--log.line-number` to be set to *true*

* UI: added word wrapping to query editor

* UI: fixed wrong user attribute name validation, issue #3228

* make AQL return a proper error message in case of a unique key constraint
  violation. previously it only returned the generic "unique constraint violated"
  error message but omitted the details about which index caused the problem.

  This addresses https://stackoverflow.com/questions/46427126/arangodb-3-2-unique-constraint-violation-id-or-key

* added option `--server.local-authentication`

* UI: added user roles

* added config option `--log.color` to toggle colorful logging to terminal

* added config option `--log.thread-name` to additionally log thread names

* usernames must not start with `:role:`, added new options:
    --server.authentication-timeout
    --ldap.roles-attribute-name
    --ldap.roles-transformation
    --ldap.roles-search
    --ldap.superuser-role
    --ldap.roles-include
    --ldap.roles-exclude

* performance improvements for full collection scans and a few other operations
  in MMFiles engine

* added `--rocksdb.encryption-key-generator` for enterprise

* removed `--compat28` parameter from arangodump and replication API
  
  older ArangoDB versions will no longer be supported by these tools.

* increase the recommended value for `/proc/sys/vm/max_map_count` to a value
  eight times as high as the previous recommended value. Increasing the
  values helps to prevent an ArangoDB server from running out of memory mappings.

  The raised minimum recommended value may lead to ArangoDB showing some startup
  warnings as follows:

      WARNING {memory} maximum number of memory mappings per process is 65530, which seems too low. it is recommended to set it to at least 512000
      WARNING {memory} execute 'sudo sysctl -w "vm.max_map_count=512000"'

此外,3.3.rc1 也已发布,更多内容请查看更新日志

发布说明:https://github.com/arangodb/arangodb/releases



历史版本 :
ArangoDB 的 JavaScript 驱动 ArangoJS 发布 6.0.0 版本
ArangoDB 3.3.1 发布,分布式原生多模型数据库
ArangoDB v3.3 GA 和 3.2.10 发布,多模型数据库
ArangoDB 3.3.0 正式发布,分布式原生多模型数据库
ArangoDB v3.3.rc10 发布,多模型数据库
ArangoDB v3.3.rc8 发布,多模型数据库
ArangoDB 3.2.9 和 3.3 rc6 发布,多模型数据库
ArangoDB v3.3.rc4 发布,多模式数据库
ArangoDB v3.3.rc3 发布,多模式数据库
ArangoDB 3.2.8 发布,多模式数据库
ArangoDB 3.2.7 发布,多模式数据库
ArangoDB v3.3.beta1 发布,多模型 NoSQL 数据库
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务