官术网_书友最值得收藏!

In-Memory Data Grid (IMDG)

One of the key features of Apache Ignite is the In-memory Data Grid. You can consider IMDG as a distributed Key-Value pair store; the key and value both must implement the serializable interface as they get transferred over the network. Apache Ignite stores objects in off-heap and on-heap memory (and on disk when native persistence is enabled). Apache Ignite's data grid operations, such as Create, Read, Update, and Delete (CRUD), are many times faster than RDBMs operations as the traditional databases store data in a filesystem (B+ tree), whereas IMDG data is stored in memory.

Apache Ignite IMDG has the following capabilities: 

  • It supports distributed ACID transactions. You can perform more than one cache operation in a transactional manner.
  • Adding more Ignite nodes can store more data and scale elastically.
  • It can store data in off-heap storage and also provides capabilities to persist data in RDBMS, HDFS, and NoSQL databases. 
  •  JCache (JSR 107)-compliant cache APIs.
  • Supports Spring Framework Integration. You can annotate your Java methods with a Spring cache annotation to access data from the Ignite cache. As we know, SQL summation is a costly time consuming database operation; the following code snippet calculates total PTO hours for a department and stores it in an Apache Ignite cache. Now, if you again invoke the retrieveTotalPaidTimeOffFor method with the same departmentId, it will be served from the cache instead of performing a costly database aggregation:
 @Cacheable("ptoHours")
 public double retrieveTotalPaidTimeOffFor(int departmentId) {
          String sql =
              "SELECT SUM(e.ptoHrs) " +
              "FROM Employee e " +
              "WHERE e.deptId= ?";

         return jdbcTemplate.queryForObject(sql, Double.class, 
departmentId); }
  • Hibernate can be configured to store an L2 cache in a Data Grid.
  • Web Session Data clustering for high availability.

We will cover the IMDG in Chapter 3, Working with Data Grids.

主站蜘蛛池模板: 京山县| 陆河县| 杨浦区| 临城县| 鹤岗市| 长汀县| 平果县| 元阳县| 林芝县| 门源| 富平县| 江孜县| 大英县| 奈曼旗| 昌黎县| 平利县| 青海省| 密山市| 保亭| 油尖旺区| 仁怀市| 东乌珠穆沁旗| 南和县| 鹤壁市| 通州市| 肃宁县| 深圳市| 大英县| 仙桃市| 江口县| 南昌市| 平罗县| 什邡市| 汉寿县| 大埔区| 金堂县| 安图县| 昌江| 武宣县| 张掖市| 金秀|