首页 > 其他分享 >ArangoDB介绍——未知架构和底层原理

ArangoDB介绍——未知架构和底层原理

时间:2023-06-11 11:00:42浏览次数:45  
标签:架构 aerospike sudo ArangoDB record client key 底层

ArangoDB介绍

ArangoDB是一个开源NoSQL数据库,官网:https://www.ArangoDB.org/

ArangoDB介绍——未知架构和底层原理_数据库


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

 

 性能比较见 整体看来 如果是充分利用内存提速的话 要比mongodb好!

标签:架构,aerospike,sudo,ArangoDB,record,client,key,底层
From: https://blog.51cto.com/u_11908275/6457216

相关文章

  • 架构师如何判断和利用技术趋势
    看技术趋势,甚至看任何发展趋势,都要先找前置量(Leadingindicator)。对于软件发展而言,硬件的革新往往是前置量。首先,硬件技术进化的驱动力是需求规模。计算机硬件技术从巨型机、大型机、小型机,到PC、Mobile的进化过程,就是市场需求规模的增长过程。随着市场需求规模越来越大,就会有越......
  • 系统架构设计师笔记第10期:访问控制和数字签名
    访问控制技术访问控制是计算机系统中一种重要的安全机制,用于管理和控制用户对系统资源的访问权限。它的主要目标是确保只有经过授权的用户或实体能够访问资源,从而保护系统的安全性和保密性。访问控制技术的原理和主要技术如下:原理: 访问控制的原理基于授权和认证机制。授权指的是系......
  • React - 04 函数组件的底层渲染机制
    1.函数组件创建:在SRC目录中,创建一个xxx.jsx的文件,就是要创建一个组件;我们在此文件中,创建一个函数,让函数返回JSX视图「或者JSX元素、virtualDOM虚拟DOM对象」;这就是创建了一个“函数组件”!!调用:基于ES6Module规范,导入创建的组件「可以忽略.jsx后缀名」,然后像写标签一样调用这个组......
  • 1-kafka介绍及基础架构
    1.kafka:高吞吐量的分布式发布订阅消息系统;1>同步变异步2>解耦3>削峰填谷 2.消息队列的两种工作模式: 保证到kafka中的消息被多个消费者消费,并且被相同消费者重复消费;  3.kafka集群形式 4.hash:消息的均匀分散,相同的key落入同一分区只有leader负责分区的读写......
  • 【MCA】Java互联网高级架构师马SB
    【MCA】Java互联网高级架构师马SBdownload:3w51xuebccomRedis核心数据结构实战与高性能原理剖析Redis是一款开源的内存数据库,它提供了丰富的数据结构和API,并支持多种数据类型操作。在深入理解Redis核心数据结构实战和高性能原理之前,我们需要了解以下基础知识:Redis数据结构Redis支......
  • 图灵Java架构班第六期无密 水晶帘动微风起
    图灵Java架构班第六期无密水晶帘动微风起download:3w51xuebccomRedis核心数据结构实战与高性能原理剖析Redis是一款开源的内存数据库,它提供了丰富的数据结构和API,并支持多种数据类型操作。在深入理解Redis核心数据结构实战和高性能原理之前,我们需要了解以下基础知识:Redis数据结构......
  • 分布式架构基础
    1、单机、集群、分布式概念1)单机2)集群(横向复制)3)分布式(纵向拆分)2、BS架构请求过程浏览器发起请求,域名ip映射,根据ip访问cdn静态资源服务,最后去服务器获取数据服务,浏览器会缓存相关数据和静态资源;1)web1.0架构应用程序主要做静态文件读取,并返回给浏览器。2)数据库开发应......
  • 嵌入式软件架构设计之分层设计
     在实际的项目开发中,项目往往是并行开发的,也就是说硬件设计,底层软件设计,应用软件设计是同步进行的。比如说在开发板上调试模块驱动,在其他平台上调试应用再移植到目前这个平台等。这里又涉及到如何提高嵌入式应用软件的可移植性的问题,这个问题在下一篇博文中专门讲解,敬请期待......
  • Terraform 改善基础架构的十个最佳实践
    Terraform是一种非常流行的开源IaC(基础设施即代码)工具,用于定义和提供完整的基础设施。Terraform于2014年推出,其采用率已在全球范围内快速增长,越来越多的开发人员正在学习Terraform并尝试在其组织中部署基础设施。 如果您已经开始使用Terraform,则必须采用最佳实践来更好......
  • 前端架构
    一、前端认知Web开发参考:[菜鸟教程-学的不仅是技术,更是梦想!(runoob.com)](https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web)​  W3Schools在线教程1.前端是做什么的?前端是做IT系统工程的,负责信息化系统的设计、建设,包括设备、系统、数......