数据库
暗焰之珩
这个作者很懒,什么都没留下…
展开
-
MongoDB $unwind保留空数组
MongoDB的aggregate的pipeline中,有$unwind操作符,该操作符用于延展某一个数组类型的元素,作用与Python中的flatten(拍平)类似。但是在实际使用中,$unwind有一个非常明显的问题,就是如果要unwind的字段为空数组或者不存在时,则不会输出该文档。这样会引发pipeline中的计数有问题或者文档条目数莫名的减少。方法一在MongoDB 3.2和更高版本中,$unwind运算符现在具有一些选项,其中特别是preserveNullAndEmptyArra...原创 2021-04-22 09:57:29 · 2774 阅读 · 0 评论 -
mongoDB杂项
db.expert.update({"migrate_flag":{"$exists":true}},{$unset:{"migrate_flag":""}},{multi:true});原创 2020-12-01 11:32:19 · 193 阅读 · 0 评论 -
MongoDB利用$elemMatch对内嵌文档进行多条件查询
目录背景内嵌文档单条件查询多条件查询背景问题:遇到如下类型的数据,想要查询出所有文档中 满足members中任意一条的name以"Bule"开头且其中的gender为"M" 的文档。// collection: test{ "_id" : ObjectId("5fc4646a2b7bfb044c042e52"), "id" : 1, "members" : [ { "name" : "BuleRiver1", "age" : 27, "gender"原创 2020-11-30 14:10:49 · 1277 阅读 · 0 评论 -
mongoDB拷贝数据库
nosqlBooster免费版不支持copyDatabase命令,只好自己动手,写个简单for循环脚本,效率不高 还是建议安装的时候装一个破解版var t=db.getCollectionNames()t.forEach(function(item){ var bulk = db.getSiblingDB('copy_to_database')[item].initializeUnorderedBulkOp(); db.getCollection(item).find().forEach(fun原创 2020-11-02 11:19:35 · 691 阅读 · 0 评论 -
MongoDB聚合语句
许久没有再写博客,发生了很多事。最近在学习MongoDB,简单记录一下mongoDB的聚合语句:db.alarm.aggregate( [ // {$match:{'$and': [{'event_status': {'$in': ['white', 'rejected']}}]}}, // {$unwind: "$tag"}, //这里要特别注意不能够使用unwind {'$project': {'emergency_degree': 1, 'tag3': 1, 'busine原创 2020-10-19 19:38:41 · 517 阅读 · 0 评论 -
InfluxDB学习整理
目录1 InfluxDB特点2 InfluxDB概念2.1 数据格式Line Protocol2.2 Point2.3 Series2.4 Shard3 存储引擎-TSM Tree3.1 Shard3.2 Cache3.3 WAL3.4 TSM file3.5 Compactor4 目录与文件结构4.1 整体目录结构4.2 WAL文件...原创 2020-04-04 18:44:57 · 357 阅读 · 2 评论 -
Neo4j algo
目录1 简介1.1 用法1.2 马尔科夫过程1.2.1 马尔科夫链细致平稳条件2 投影图模型2.1 标签和关系类型进行投影2.1.1 大图投影2.2 Cypher投影2.2.1 权重2.2.2 示例用法2.2.3 关系去重...原创 2019-05-19 10:15:14 · 5952 阅读 · 0 评论 -
APOC官网触发器示例执行后Web页面一直转圈
apoc使用触发器:如apoc官网指导CREATE (d:Person {name:‘Daniel’})CREATE (l:Person {name:‘Mary’})CREATE (t:Person {name:‘Tom’})CREATE (j:Person {name:‘John’})CREATE (m:Person {name:‘Michael’})CREATE (a:Pers...原创 2019-05-05 21:06:34 · 1626 阅读 · 0 评论 -
Neo4j Cypher语法(三)
目录5 函数5.1 谓词函数5.2 标量函数5.3 聚合函数5.4 列表函数5.5 数学函数5.6 字符串函数5.7 Udf与用户自定义函数6 模式6.1 索引6.2 限制7 查询调优7.1 Cypher查询选项7.2 基础查询调优示例7.3 索引值与顺序8 执行计划8.1执行计划的操作符8.2最短路径规划5 函数...原创 2019-05-04 20:51:33 · 8507 阅读 · 0 评论 -
Neo4j Cypher语法(二)
目录4 子句4.1 CREATE4.2 MATCH4.3 Match4.4 Create match return连用来返回一个关系基础4.5 Optional_match4.6 With4.7 Unwind4.8 Order by4.9 Skip4.10 FOREACH4.11 Merge4.12 Call[…YIELD]4.13 Cre...原创 2019-05-02 15:45:32 · 5016 阅读 · 0 评论 -
Vertica疑问整理
Q1:为什么直抽比etl抽取速度慢背景:在进行演示时,直抽为带文件图标加载,etl为直接加载,同时直抽导入的表为info,etl导入的表为test,二者结构如下:可见test的表字段总长小于info的字段总长,差距在于age字段。1.直抽时,带文件加载比直接加载要慢,速度差距约在1w左右。直接加载时速度在7.4w条/s文件加载时的抽取速度查看文件图标的含义,复制输出副本...原创 2018-08-16 23:06:30 · 2277 阅读 · 0 评论 -
Vertica-Kettle测试记录
Vertica单线程导入在kettle中建立csv->Vertica的直抽测试,抽取速率稳定,没有差距悬殊的峰值与谷值,1.在表输出处设置提交记录数为10000时,平均速度在5.5w条记录/s左右,且在数据库中已正确插入。2.在表输出处设置提交记录数为50000时,峰值速度7.2w条记录/s+,平均速度在7.2w条记录/s左右。Vertica多线程导入1.两个...原创 2018-08-16 23:00:19 · 1038 阅读 · 1 评论 -
Innodb的事务隔离级别实现原理
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引...转载 2018-08-18 21:04:18 · 458 阅读 · 0 评论 -
Vertica加密存储(基于Vertica9.1.0)
Vertica加密存储,有不少小坑,官方文档的介绍都是基于和Voltage对接的基础上的,Voltage是micro focus的另一款产品,既不开源也不提供试用......micro soft在前两年左右的时间和慧与的软件部做了合并,现在的Vertica也属于micro soft的产品。对Vertica加密存储做一个简单记录,另,Vertica的官文提供了TLS/SSL的加密传输,...原创 2018-08-22 22:39:55 · 2341 阅读 · 0 评论 -
InfluxDB的读写流程
目录数据库存储背景知识传统数据库:B/B+树B树与B+树的缺点设计原型InfluxDB写数据InfluxDB读数据数据库存储背景知识数据库最基本的功能即是put和get,put即存储,get即查询。如果只是存储起来,直接写成日志就行。但因为后续还要快速的查询,所以需要考虑存储的结构。对于树型结构,理论上来说,二叉树查找速度和比较次数都是最小的,为什么不使用二叉树呢?...原创 2019-01-11 21:31:19 · 3930 阅读 · 2 评论 -
ByteBuffer实现Beringei压缩算法与一点心声
目录背景简介背景资料编程思路代码实现背景简介Gorilla是Facebook内部使用且已开源的时序数据库的软件原型,该时序库主要是针对互联网系统的基础监控,主要目的在于对海量时序数据进行快速入库,快速聚合查询,秒级响应前端呈现;优点在于节省了网络传输带宽和存储带宽。但是,Gorilla的具体实现Beringei,考虑详尽,依赖众多,是一个大型的C++工程。菜鸟一枚...原创 2019-01-08 23:01:25 · 1385 阅读 · 0 评论 -
浮点数文件入库InfluxDB
找不到原创的文档了,转载的人没给原文链接,呵呵了,附上转载的转载链接https://blog.csdn.net/jailman/article/details/78951187安装Go之后设置GOPATH与GOBINexport GOPATH=$(go env GOPATH)export GOBIN=$GOPATH/binexport PATH=$PATH:$GOBIN修改...转载 2019-01-24 22:56:10 · 2795 阅读 · 0 评论 -
Neo4j Cypher语法(一)
目录Cypher手册详解1 背景2 唯一性3语法3.1 命名规则3.2 表达式3.3 变量与保留关键字3.4 参数3.5 操作符3.6 模式3.7 列表Cypher手册详解最近在研究知识图谱,避免不了的涉及到了图数据库和图算法,我们用的图数据库是neo4j,对其CQL语法做一个记录。整篇文章是对官网Cypher手册的翻译(正常访问超级慢,也许要...原创 2019-05-02 15:02:26 · 23971 阅读 · 1 评论 -
Postgres修改表的时间(timestamp格式)
--将log_time中不为0点整的记录全部更新为0点整UPDATE testSET log_time = (to_timestamp((to_char(log_time, 'yyyy-mm-dd') || ' 00:00:00'),'yyyy-mm-dd HH24:MI:SS') AT TIME ZONE 'UTC-8')WHEREto_char(...原创 2018-08-17 19:52:11 · 9659 阅读 · 0 评论