ets与dets都是用来存大数据的机制
ets是Erlang term storage的缩写, dets则是disk ets.
它们不同的就是ets存在内存里面,而dets则存在磁盘上。
ets存的数据表是暂时性的,拥有它的进程挂了,它也会挂掉.
dets就算程序完成或者挂了,数据表还是持久存在的.如果是异常退出的, 可以进行修复.
ets表看起来像是由erlang实现的,但实际上它是由运行时系统实现的,所以具有更高的性能. 且有一个特性: ets表不会被垃圾回收!
操作
建表
ets:new和dets:open_file
插入
ets:insert(TableId, X), x 是一个元组或者一个元组列表. 定义了一些参数
查找
ets:lookup(TableId, Key) 它会返回一个元组列表.
删除表
ets:delete(TableId)
表类型
四种: 集合(sets), 有序集(sorted sets), 袋(bags),可重复袋(duplicated bags)
集合:
所有记录的键(key)都是唯一的.
比如先后存{a,1},{b,1}可以 得结果{a,1},{b,1},两条记录。
但先后存{a, 1},{a,3}得到的结果会是{a,3}, 一条记录。
有序集:
特殊的集合, 按键值排序
袋:
记录的键值可以相同, 但数据不同是相同的.
比如先后存{a,1},{a,3}可以得两条记录;
但先后存{a,1}, {a,1}只有一条记录。
可重复袋:
记录的键值可相同, 记录值也可以相同
先后存{a,1}, {a,1}会有两条记录。
ets效率建议
ets表的底层是由哈希表实现的,不过有序集例外,它是由平衡二叉树实现的。 所以不管是插入还是查找,集合的效率要比有序集高.
可重复袋要比袋的效率要高, 因为袋要和原来的记录比较是否有相同的记录已经插入. 如果一份大数据,相同的记录越多,袋的效率就越慢.
一张ets表是由创建它的进程所拥有, 当此进程调用ets:delete或者进程挂了的时候, 表会被删除.
一般情况下, 插入一个元组到一张ets表中, 所有代表这个元组的结构都会被从进程的栈和堆中,复制到ets表中; 当查找一条记录时, 结果元组从ets表中复制到进程的栈和堆中。
但是大型二进制(large binaries) 数据却不是这样! 它们被存入自已所拥有的堆区域(off-heap area)中。这个区域可以被多个进程,ets表,和独立二进制数据所共享。它由引用计数的垃圾回收策略管理, 这个策略会跟踪到底有多少个进程/ets表/二进制数据引用了这个大型二进制数据. 如果引用数为0的话, 此大型二进制数据就会被垃圾回收掉.
看起来很和复杂, 实际结论就是: 两进程间发消息用大型二进制数据消耗很低, 往ets表插入元组用二进制数据也很划算。我们应该尽可能采用二进制数据来实现字符串或无类型的大数据块.
ets建表
分享到:
相关推荐
NULL 博文链接:https://yansxjl.iteye.com/blog/2359713
个人学习Erlang对于Erlang处理数据的各种方式的总结,讲述编程语言Erlang的ets,dets,mnesia,mysql,dict,和进程字典的用法,希望能帮助读者在这个总结里学到一些东西.
大数据监控页面模版
Ets5 V5.5.4简体中文版下载。Ets5 V5.5.4简体中文版下载。Ets5 V5.5.4简体中文版下载。Ets5 V5.5.4简体中文版下载。
KNX编程软件 ETS5 v5.7.5
基echarts实现的地图,大数据数据可视化,利用ets做出大数据图表展示,可以运行在PC和移动设备,兼容主流浏览器,提供非常多的图表(折线图,柱状图,散点图,饼图,K线图)
ETS5最新调试视频教程,一步步教你使用ETS5软件进行KNX设备的调试。
ETS300/ETS364测试机的手册,包括硬件的详细介绍,软件系统介绍,测试程序开发等等 总共26个PDF文件。
ETS即工程工具软件;作为制造商独立的配置软件工具,适用于在KNX系统内设计和配置智能家居和楼宇控制安装项目. ETS软件仅对使用Windows系统的电脑适用. 仅在插入USB硬件锁时适用. 与Windows 10系统兼容
最新版的ETS5中文特别版老用户免费更新,解除设备数限制,无需使用加密狗;个人调试及小公司福利,终于不用几十个存档一个项目了;
EIB系统调试软件ETS的破解小插件,可以免费用ETS了!
火电厂汽轮机ETS说明书与控制逻辑,基于冗余PLC实现的ETS,逻辑和功能就是实际现场的ETS功能,完全实用,可以作为工程参考使用
ETS5 Professional 版本 5.7.6 附加备注 支持中文、支持云端产品数据库
ets5 knx 编程软件专业版,需要另行下载软件使用,没有数量的限制。 ETS5 Professional 版本 5.5.2
ETS5 Professional 版本 5.7.4 发布日期 03/02/2020 附加备注 支持中文、支持云端产品数据库
KNX_ETS5软件安装包
openharmony简易播放器ets版本
资源为视频文件,请用优酷客户端打开播放 ETS编程教程, 本说明是英文版的需要一定的英语基础,有需要软件的也可以给我留言
ETS是KNX系统调试使用的软件,一般在智能家居或楼宇控制中比较常见。它可以对KNX智能家居和楼宇控制安装系统进行设计和配置。
本书是SAS/ETS软件的使用手册,也是国内第一次出版的关于SAS/ETS软件的使用资料。SAS/ETS软件主要用于经济分析和预测、经济和财务建模、时间序列分析、财务报告及时间序列数据的整理。任何时候只要遇到分析或预测...