摘要:近日,在上撰文,為大家介紹了新一代數據庫緩存系統,由工程師編譯。還提供了一種叫做的數據庫異步更新模式。此外,可選地將數據同步到緩存層同樣是一大優勢。最后,可以支持任何底層數據庫存儲同樣讓成為數據庫緩存的首先。
【編者按】飛速增長的數據需要大量存儲,對這些數據的管理也不是一件容易的事。但相比于存儲和管理,如何處理數據才是開發人員真正的挑戰。對于TB級別數據的存儲和處理通常會讓開發人員陷入速度、可擴展性和開銷的矛盾困境中。近日,Dmitriy Setrakyan 在 Dzone 上撰文,為大家介紹了新一代數據庫緩存系統 Apache Ignite,由 OneAPM 工程師編譯。
以下為譯文
將數據存儲在緩存中能夠顯著地提高應用的速度,因為緩存能夠降低數據在應用和數據庫中的傳輸頻率。Apache Ignite 允許用戶將常用的熱數據儲存在內存中,它支持分片和復制兩種方式,讓開發者可以均勻地將數據分布式到整個集群的主機上。同時,Ignite 還支撐任何底層存儲平臺,不管是 RDBMS、NoSQL,又或是 HDFS。
在集群配置好之后,數據集增加只需在 Ignite 集群中增加節點而不需要重啟整個集群。節點數目可以無限增加,所以 Ignite 的擴展性是無窮的。在 Ignite 的配置上有下面這幾個選項可供選擇:
Write-Through 和 Read-Through
在 Write-Through 模式中,緩存中的數據更新會被同步更新到數據庫中。 Read-Through 則是指請求的數據在緩存中不可用時,會自動從數據庫中拉取。
Write-Behind Caching
Ignite 還提供了一種叫做 Write-Behind Caching 的數據庫異步更新模式。默認情況下, Write-Through 中每一次更新都會對數據庫發起一次請求。如果使用 Write-Behind Caching 后寫,對緩存的更新會整合成批次然后再發送給數據庫。這對改刪頻繁的應用來說可以達到相當的性能提升。
自動化持久數據
Ignite 提供了易用的 schema 映射工具,從而系統可以自動地與數據庫整合。這一工具可以自動地連接數據庫,并生成所有需要的 XML OR-mapping 配置以及 Java 域模型 POJOs。
SQL 查詢
查詢 Ignite 緩存很簡單,使用的就是標準的 SQL。Ignite 支持所有的 SQL 函數、聚合和 group 操作,甚至支持分布式 SQL JOINs。下面 Ignite 中一個 SQL 查詢示例:
IgniteCachecache = ignite.cache("mycache"); // ‘Select’ query to concatenate the first and last name of all persons. SqlFieldsQuery sql = new SqlFieldsQuery( "select concat(firstName, " ", lastName) from Person"); // Execute the query on Ignite cache and print the result. try (QueryCursor > cursor = cache.query(sql)) { for (List> row : cursor) System.out.println("Full name: " + row.get(0)); }
小結
Apache Ignite 是一個聚焦分布式內存計算的開源項目,它在內存中儲存數據,并分布在多個節點上以提供快速數據訪問。此外,可選地將數據同步到緩存層同樣是一大優勢。最后,可以支持任何底層數據庫存儲同樣讓 Ignite 成為數據庫緩存的首先。
想要了解更多信息、文檔、示例,請移步 Apache Ignite 官網。
原文鏈接:Apache Ignite for Database Caching
OneAPM 是應用性能管理領域的新興領軍企業,能幫助企業用戶和開發者輕松實現:緩慢的程序代碼和 SQL 語句的實時抓取。想閱讀更多技術文章,請訪問 OneAPM 官方博客
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17494.html
摘要:這一點其實是非常不妥的,有潛在的安全問題。這次,在項目中終于采用了以它為基礎的集群方案。相反,使用一個周期,但針對每個生成一個一次性的,模擬隨機發送。同時,要記得用完之后立即釋放。 當初創建簡書賬號的時候曾立下宏愿,希望保持周更,無奈現實殘酷,整個5月都處于忙忙碌碌的狀態,居然令這個本來并不算太宏偉的目標難以為繼,最終導致5月份交了白卷!【好吧,我承認,是我意志不夠堅定,太懶了,;)】...
摘要:但實際情況是緩存是大型網站的標配。以上分析告訴我們緩存架構要滿足冷熱分離的特征不滿足,因為冷數據可能擠走熱數據。另外,眾所周知,緩存架構還要滿足讀寫分離的特征也不滿足,因為寫操作會爭搶讀操作的資源。這種風格需要緩存系統的支持。 問題背景 略談服務端緩存設計 一文說到緩存不是必須的,因為數據庫本身就利用了內存。但實際情況是緩存是大型網站的標配。 雖然經驗顯示RDBMS最快時只需0~1ms...
閱讀 4278·2021-10-13 09:39
閱讀 482·2021-09-06 15:02
閱讀 3229·2019-08-30 15:53
閱讀 1040·2019-08-30 13:04
閱讀 2029·2019-08-30 11:27
閱讀 2010·2019-08-26 13:51
閱讀 2092·2019-08-26 11:33
閱讀 2902·2019-08-26 10:36