用例
对SQL的本机支持使您可以像使用标准SQL数据库一样使用Ignite。如果您的应用程序不需要其他任何东西,您可以简单地使用SQL:
分布式连接是一个SQL语句,其中包含一个连接子句,该子句组合了两个或多个表,这些表的数据分布在多个集群节点上。
这些是性能最好的连接类型,可以避免节点之间的数据洗牌,并最大限度地减少网络使用。
如果您加入,则使用此类型的加入分区表和复制表或分区表彼此位于同一位置。
一种性能较差的联接类型,用于联接非同位表的数据。Ignite需要在网络上重新整理数据以生成正确的结果集。
Ignite支持经典的散列连接算法,在许多情况下,该算法比嵌套循环连接更有效。
根据您的存储配置,Ignite SQL引擎可以查询内存和仅磁盘记录
点火仅在内存中缓存数据
在这种模式下,只要所有数据都是从内存中提供的,Ignite SQL就会尽快执行任务,而根本不使用磁盘层。
点燃超出可用范围的天平存储器容量
Ignite将100%的数据和索引保存在本机持久性同时在内存中尽可能多地缓存。
Ignite SQL引擎不需要在内存中缓存整个数据集即可正常运行。
如果引擎发现某个记录未缓存,则会从磁盘读取该记录。应用程序只执行SQL查询,Ignite会自动从内存和磁盘获取记录。
在集群重启时,Ignite从磁盘读取数据和索引,从而消除了内存预热的需要,从而大大减少了停机时间。
点燃加速你的现有数据库
在这种模式下,Ignite SQL引擎需要在内存中缓存分布式查询所需的所有数据,因为该引擎当前不支持联合查询。
如果需要在Ignite和外部数据库之间进行联合查询,那么可以考虑为Spark集成Ignite,其中DataFrames API可以组合存储在Ignte和其他系统中的数据。
了解有关Apache Ignite SQL引擎的更多详细信息并将其应用于您的用途
随着基于Apache Calcite的引擎的发布,Ignite SQL将变得更加强大和先进