通过NFS访问编年引擎
总览
编年史引擎是数据虚拟化层。 它抽象化了访问,操纵和订阅各种数据源的复杂性,因此该数据的用户无需知道实际存储数据的方式或位置。 这意味着该数据可以在系统之间迁移或以更有效的方式存储,但对于开发人员来说使用起来会很复杂。
基本接口是并发映射和简单的发布/订阅。 将它们与过滤器和转换之类的流结合使用,您可以访问内存数据高速缓存,LDAP,SQL数据库,键值NoSQL数据库和低延迟持久存储中的文件。
我们正在研究的是使用NFS作为一种访问方式,以及我们的Java和C#客户端以一种自然的方式访问数据。 这样,Windows,Unix或MacOSX上的任何程序都可以使用它。 看起来如何?
通过NFS访问。
Chronicle Engine中的数据存储按层次结构组织为树,而不是目录结构。 键值存储的键类似于目录中的文件,值是文件的内容。 这将转换为虚拟文件系统。
在Java中,用于访问服务器或远程客户端上的地图。
Map<String, String> map = acquireMap("/group/data", String.class, String.class);map.put("key-1", "Hello World");
map.put("key-2", "G-Day All");
但是,通过NFS挂载,我们可以从任何程序(甚至Shell)访问相同的映射。
~ $ cd /group/data
/group/data $ echo Hello World > key-1
/group/data $ echo G-Day All > key-2
为了获得价值,这在Java中非常简单:
String value = map.get("key-1");
通过NFS,它也很简单:
/group/data $ cat key-1
Hello World
那更复杂的功能呢?
拥有自己的NFS服务器的一个优点是,我们可以添加虚拟文件,只要它们遵循常规的文件访问合同,就可以执行功能。
在Java中,我们可以应用查询来实时获取20岁以上的所有人。 如果添加了条目,则会在出现时立即打印。
map.entrySet().query().filter(e -> e.getValue().age > 20).map(e -> e.getKey()).subscribe(System.out::println);;
那么如何在NFS上转换呢?
/group/data $ tail -9999f '.(select key where age > 20)'
Bob Brown
Cate Class
这将为您提供所有当前名称,但会出现所有新名称。
选择格式。
通过拥有虚拟文件,您可以要求使用其他格式。 假设基础数据对象是RDBMS数据库中的一行。 您可能需要CSV格式,但可能需要XML或JSON。
/group/users $ ls
peter-lawrey
/group/users $ cat peter-lawrey.csv
Peter,Lawrey,UK,1001
/group/users $ cat peter-lawrey.xml
<user id="1001"><first>Peter</first><last>Lawrey</last><country>UK</country>
</user>
/group/users $ cat peter-lawrey.json{"user": { "id": "1001", "first": "Peter", "last": "Lawrey", "country": "UK" }}
通过添加可识别的文件扩展名,文件可以以所需的格式显示。
更新记录就像写入文件一样简单。
与使用普通的NFS文件系统相比,优点是什么?
主要优点是可扩展性。 编年史引擎支持;
- 一张地图(目录)中的数十亿个条目
- LAN和WAN数据复制。
- 实时更新更改。
- 查询支持。
- 数据压缩
- 交通整形。
- 可审核性是谁何时更改了什么。
我们计划也支持数据分发,并支持更多的后端数据存储。
反馈
您将使用这种系统做什么? 您会撒谎看到哪些功能? 您可以在此处或在Chronicle论坛上发表评论。 我期待着听到您的想法。
翻译自: https://www.javacodegeeks.com/2015/08/accessing-chronicle-engine-via-nfs.html
通过NFS访问编年引擎相关推荐
- 访问nfs_通过NFS访问编年引擎
访问nfs 总览 编年史引擎是数据虚拟化层. 它抽象化了访问,操作和订阅各种数据源的复杂性,因此该数据的用户无需知道实际存储数据的方式或位置. 这意味着该数据可以在系统之间迁移或以更有效的方式存储,但 ...
- linux nfs 拒绝挂载,mount:被服务器拒绝的nfs访问
我试图在我的linux机器上挂载NFS设备.mount:被服务器拒绝的nfs访问 我/ etc/fstab中是这样的, 192.168.0.5:/volume2/Asterisk_Recordings ...
- KODI通过NFS访问群晖NAS
1.群晖端设置 电脑登录群晖,打开控制面板->共享文件夹,选中要在KODI中访问的文件夹,右键点"编辑",选择"NFS权限",然后按如下设置: 指定KOD ...
- 微软ACE访问数据库引擎2010版_Microsoft Access 2010 数据库引擎可再发行程序包
微软ACE访问数据库引擎2010版 Microsoft Access 2010 数据库引擎可再发行程序包 1.官方下载: 中文版:Download Microsoft Access 2010 数据库引 ...
- CentOS / RHEL Cachefiles 加速网络文件系统NFS访问速度
为什么80%的码农都做不了架构师?>>> 1. CacheFiles介绍 NFS是一种经常使用到的网络共享文件系统,在分布式环境下,多台服务器的文件共享是一个问题.然而,对于这 ...
- tiny6410开发板使用NFS访问Ubuntu主机
riendlyArm官方推荐的tiny6410开发环境是Fedora9,相关的NFS配置也是基于Fedora9的,通过Superboot向Nand写入NFS启动参数的方法虽然很方便,但不便于理解NFS ...
- Elasticsearch--linux网络设置 开启密码访问---全文检索引擎ElasticSearch工作笔记021
上一节我们网络不好用,现在我们设置一下让网络好用了后面我们在做的时候,就方便一些. 可以看到上面ping 不起作用 ping baidu.com 没有ping通 然后我们要修复网络,我们先进入 cd ...
- 使用hive中beeline引擎来访问hive数据库
hive中beeline引擎连接hive访问hive引擎 注意,往下阅读前,必须先确保hive>能连接mysql数据库 我们知道: hive中的引擎有两个: hive> beeline&g ...
- linux群晖文件路径,如何访问本地网络中 Synology NAS 上的文件 (NFS)
总览 Synology NAS 经过专门设计,可快速简单地在本地网络中存储和共享文件,让您直接访问 Synology NAS 上的文件而避免每次登录 DSM 的麻烦.您能够使用 NFS 访问 Syno ...
最新文章
- 消息消费端的确认机制
- 怎样分辨谁才是朋友圈里的真·贵族?
- 从Spring Data JPA访问EntityManager
- 推荐 10 个饱受好评且功能独特的开源人工智能项目
- avr的c语言开发工具,AVR单片机的C语言开发简介
- matlab求随机过程的数学期望,密度函数已知,怎么用matlab求其数学期望和方差?...
- dyndns免费动态域名
- Angular4 - 组件
- onnxruntime cuda版本使用时出现的错误汇总
- 刚子扯谈:“爆吧”圣斗士们,你妈没叫你回家吃饭
- android新闻客户端答辩,头条客户端 Android
- C++ 雇员信息保存及查询
- ros手柄控制机器人小车(一)
- MySQL按天统计一周没有数据补0
- 场效应管和三极管对比
- “伪QQ”---一个即时聊天通讯的工具
- 元宇宙:未来or骗局?
- 纯CSS实现正方形、自适应正方形方法
- 网站标准/CMS/ADS....
- 西门子SMART PLC的自由口发送测试(一)