ArangoDB介绍——未知架构和底层原理
ArangoDB介绍
ArangoDB是一个开源NoSQL数据库,官网:https://www.ArangoDB.org/
ArangoDB支持灵活的数据模型,比如文档Document、图Graph以及键值对Key-Value存储。ArangoDB同时也是一个高性能的数据库,它使用类SQL查询或JavaScript扩展来构建高性能应用。
ArangoDB值得称赞的一点,可以在树莓派上运行ArangoDB 1.4版。
ArangoDB的特性:
1)多模型数据库
可以灵活的使用键值对、文档、图及其组合构建你的数据模型。
2)查询便利
ArangoDB有类SQL的AQL查询语言,还可以通过REST方式进行查询。
3)可通过JavaScript进行扩展
无语言范围的限制,可以从前端到后端都使用同一种语言。
4)高性能
ArangoDB速度极快
5)Foxx - 构建自己的API
用JavaScript和ArangoDB构建应用,Foxx运行在DB内部,可快速访问数据。
6)空间利用率高
跟其它文档型数据库相比,ArangoDB占用的存储空间更少,因为ArangoDB是模式自由的元数据模式。
7)简单易用
ArangoDB可以在几秒内启动运行,同时可使用图形界面来管理你的ArangoDB。
8)多OS支持
ArangoDB支持Windows、Linux和OSX等操作系统,还支持树莓派。
9)开源且免费
ArangoDB开源免费,它采用了Apache 2许可证协议。
10)复制
ArangoDB支持主从集群
简单说下Aerospike的安装,我这边有个服务器是Ubuntu的,那就用它了。 如果有Docker的话,那敢情好了。直接下载image,run一下就好了。
wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/ubuntu12' tar -xvf aerospike.tgz cd aerospike-server-community-*-ubuntu12 sudo ./asinstall # will install the .rpm packages sudo service aerospike start && \ sudo tail -f /var/log/aerospike/aerospike.log | grep cake
有时候自己手动启动。
sudo /etc/init.d/aerospike start
另外大家可以学习下python的aerospike库。 Python
# import the module import aerospike # Configuration for the client config = { 'hosts': [ ('127.0.0.1', 3000) ] } # Create a client and connect to the database client = aerospike.client(config).connect() # Records are addressable via a tuple of (namespace, set, key) key = ('test', 'demo', 'foo') # Write a record client.put(key, { 'name': 'John Doe', 'age': 32 }) # Read a record (key, metadata, record) = client.get(key) # Close Connection to Cluster client.close()
性能比较见 http://www.infoq.com/cn/news/2013/04/NoSQL-Benchmark 整体看来 如果是充分利用内存提速的话 要比mongodb好!