数据库
Java小虎
一个逍遥自在的程序员,喜欢交流分享技术
展开
-
ArangoDb存储引擎分析_v1
先抛砖做任何事情之前,我们往往都会去想一个问题, 为什么我们要去做?为了选型一款优秀的图数据库,我们之前针对大名鼎鼎的 Neo4j,Janus Graph,ArangoDB,DGraph,Tiger Graph等,都进行了一些技术预研,针对我们项目的实际应用场景,最终选择了ArangoDB,我们今天暂不谈图数据库的技术选型,也不去码代码,我们先聊一聊ArangoDB底层的存储引擎。So Why ?往往一款成熟热门的产品,其社区活跃度、代码版本迭代的速度都是很快的。比如ClickHouse,在我之原创 2020-08-05 10:15:30 · 938 阅读 · 1 评论 -
ArangoDB压测小记
压测环境6C 16G 测试服务器服务器本机部署 ArangoDB3.6手动编写压测程序,Jar包形式本机启动场景用例插入/更新CASE 1(批量更新):使用ArangoDB自带的 WEB Interface相对复杂的CI模型结构Update语句,更新单一属性20W条更新,首次执行59秒,TPS ≈ 3300FOR c IN col_CIUPDATE c WITH { numericVal: 5 } IN col_CICASE 2(单条循环插入):JAVA程原创 2020-07-26 15:29:10 · 347 阅读 · 0 评论 -
ArangoDB-AQL简单操作
尝试几个简单的查询1、返回数据集"airports"中所有的airports:FOR airport IN airports RETURN airport 2、只返回California的airports:FOR airport IN airports FILTER airport.state == "CA" RETURN airport3、返回每个国家的机场数量FOR airport IN airports COLLECT state = airport.s原创 2020-07-05 14:28:00 · 1039 阅读 · 1 评论 -
ArangoDB-存储引擎分析
当今很多主流DB都使用了 LSM Tree 的存储模型,包括 LevelDB,HBase,Google BigTable,Cassandra,InfluxDB 等。ArangoDB果断采用了RocksDB做的底层存储引擎,RocksDB存储模型使用的是LSM-Tree数据结构,老规矩先上图。存储模型WAL(Write Ahead Log)在设计数据库的时候经常被使用,当插入一条数据时,数据先顺序写入 WAL 文件中,之后插入到内存中的 MemTable 中。这样就保证了数据的持久化,不会丢失原创 2020-06-27 17:11:34 · 1026 阅读 · 1 评论