内存数据库之Apache Ingite
上一篇文章,我们做了内存数据库的技术选型: 内存数据库技术选型 本文中,我们继续深入研究Apache Ignite,同时分享一些我们.Net的编码实践。 首先,Apache Ignite是一个内存数据组织是高性能的、集成化的以及分布式的内存平台,他可以实时地在大数据集中执行事务和计算,和传统的基于磁盘或者闪存的技术相比,性能有数量级的提升。 其中: Data Grid:Ignite内存数据网格是一个内存内的键值存储,他可以在分布式集群的内存内缓存数据。 SQL Grid:内存SQL网格为Apache Ignite提供了分布式内存数据库的功能,它水平可扩展,容错并且兼容SQL的ANSI-99标准。 SQL网格支持完整的DML命令,包括SELECT,UPDATE,INSERT,MERGE以及DELETE。 同时支持分布式SQL Join关联 RDBMS集成: Ignite支持与各种持久化存储的集成,它可以连接数据库,导入模式,配置索引类型,以及自动生成所有必要的XML OR映射配置和Java领域模型POJO,这些都可以轻易地下载和复制进自己的工程。 Apache Ignite 的功能特性有:
Apache Ignite具有非常先进的集群能力,部署非常灵活。
上面大致介绍了Apache Ignite的架构和功能特性,现在我们以代码示例的方式,分享一下做的技术原型验证: 1. 启动Apache Ignite 代码中通过调用Ignition.Start()启动一个Ignite节点。 直接执行apache.Ignite.exe也可以启动一个Ignite节点,其内部引用了Apache.Ignite.Core.dll,调用了Ignition.Start()方法
2. 创建指定的缓存区域 3. 数据写入缓存 4.数据查询 5. 数据关联查询 6.查询指定的字段 ? 7.全文搜索 8. Apache Ignite集群部署 节点平等 Ignite没有master节点或者server节点,也没有worker节点或者client节点,按照Ignite的观点所有节点都是平等的。但是开发者可以将节点配置成master,worker或者client以及data节点。 自动发现机制 Ignite节点之间会自动感知,集群可扩展性强,不需要重启集群,简单地启动新加入的节点然后他们就会自动地加入集群。这是通过一个发现机制实现的,他使节点可以彼此发现对方,Ignite默认使用TcpDiscoverySpi通过TCP/IP协议来作为节点发现的实现,也可以配置成基于多播的或者基于静态IP的,这些方式适用于不同的场景。 部署模式 Ignite可以独立运行,也可以在集群内运行,也可以将几个jar包嵌入应用内部以嵌入式的模式运行,也可以运行在Docker容器以及Mesos和Yarn等环境中,可以在物理机中运行,也可以在虚拟机中运行,这个广泛的适应性是他的一个很大的优势。 9. 客户端和服务端 Ignite中各个节点是平等的,但是可以根据需要将节点配置成客户端或者服务端,服务端节点参与缓存,计算,流式处理等等,而原生的客户端节点提供了远程连接服务端的能力。Ignite原生客户端可以使用完整的Ignite API,包括近缓存,事务,计算,流,服务等等。 ? 代码以Client模式启动Ignite Client/Server架构,带来了很大的问题!!
10. Apache Ignite REST API Apache Ignite 提供了Restful API,支持对缓存的读、写、执行任务、获取各类指标等。 ? 以上就是整个Apache Ignite的技术分享。 ? 周国庆 2017/8/26 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- datetime – 日期格式dd / MM / yyyy在asp.net mvc 5中不起
- 创建ASP.NET移动Web应用程序时要记住的事项
- 初识WebAPI
- asp.net-mvc – ASP.NET MVC – 复杂模型验证
- asp.net – 使用回发解析.Net页面
- 如何在页面视图或按钮单击之间增加ASP.NET(C#)中的变量
- asp.net-mvc – 抛出一个404像StackOverflow的,没有重定向,
- asp.net – 在EPiServer中的TinyMCE中允许自定义HTML属性
- asp.net – 在服务器端级别渲染javascript.好主意还是坏主意
- 排序 – sortdir没有在MVC 3 WebGird中使用枚举数据类型
- asp.net-mvc – knockout下拉列表将选择传递给MV
- asp.net-mvc – 将脚本放在MVC _layout页面中的位
- ASP.NET:asp:禁用Javascript的LinkBut??ton?
- 使用asp.net统计在线用户
- asp.net-mvc – 在ASP.NET MVC中,response.redir
- asp.net-mvc – ASP.NET MVC – 在ActionFilter中
- asp.net – 将div固定在html中的某一点
- asp.net – 开发与生产:连接字符串
- 什么是使用aspnet_compiler.exe预编译ASP.NET项目
- asp.net – 如何使用IdentityServer v3保护Ident