<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### [1?內存計算與云計算]() 如果說云計算這個新瓶裝的是[虛擬化+ SOA/網格計算+SaaS(軟件即服務)](http://soft.chinabyte.com/168/11106668.shtml)的老酒,那么內存計算則重點是釋放了計算這一部分的能量。 ![](https://box.kancloud.cn/2016-08-31_57c6b13909c19.jpg) 但是對內存計算經常有一些[誤解](http://www.tuicool.com/articles/VJNFf2): ???**大容量內存很貴** ???**內存計算不會持久化**:實際上幾乎所有的內存計算中間件都提供多種內存備份、持久存儲備份以及基于磁盤的swap空間溢出的策略。 ???**內存計算要取代數據倉庫**:內存計算的目的是要改善那些需要OLTP和OLAP混合處理的可操作數據集(Operational Dataset)的計算,而非歷史數據集(Historical dataset)。簡言之,內存計算不是要把企業的所有數據都放進內存。 ???**閃存已經足夠快了**:內存計算不是要達到2-3倍的邊際效應提升(Marginal Effect),而是10-100倍的提升,使之前那些不可行的業務和服務成為可能。 ???**內存計算等于內存數據庫**:首先,內存計算是一種技術而不是某種產品。其次,內存數據庫只是目前內存計算觸手可及的成果,內存計算長期的發展還是在流式處理(Stream Processing)上。此外,內存計算與傳統內存數據庫的區別是:內存計算是為分布式、彈性環境以及內存數據處理而設計的。 ### 2?內存計算產品分類 根據內存計算技術的發展順序,內存計算大致可以分為[三類產品](https://gridgaintech.wordpress.com/2013/11/19/cache-data-grid-database/): ??分布式緩存(Memcached/Redis):主要使用場景就是將頻繁訪問的數據保存在內存中避免磁盤加載。多數產品都是分布式**內存key/value存儲,并提供簡單的put和get方法**。隨著不斷成熟,與后端的read/write-through,ACID事務,復制和分區,eviction策略等也逐漸加入到產品中,這些特性也成為了后來出現的IMDG/IMCG產品的基礎。 ???內存數據/計算網格(IMDG/IMCG, GemFire/Hazelcast/GridGain):數據網格的顯著特性是**co-location計算**,將計算過程發送到數據本地執行。這是數據/計算網格的關鍵創新點,在數據量不斷增長的情況下再加數據抓取過來執行計算已經變得不現實了。這種創新也不僅使內存計算從簡單的緩存產品進化,也激發了后來IMDB的誕生。 ???分布式內存數據庫(IMDB, VoltDB/Impala):分布式內存數據庫的顯著特性是增加了**基于標準SQL或MapReduce的MPP(大規模并行處理)能力**。如果說數據網格的核心是解決數據量不斷增長下計算的困境,那么分布式內存數據庫就是解決計算復雜度不斷增長的困境。它提供了分布式SQL、復雜(分布式共享)索引、MapReduce處理等工具。 ![](https://box.kancloud.cn/2016-08-31_57c6b13920746.jpg) 值得注意的是,隨著技術的發展,有些界限不再那樣清晰。像現在很多IMDG產品已經具有IMDB的特性,能夠提供復雜的分布式SQL和MapReduce計算能力。不管怎樣,這些產品中的核心技術和算法都是不變的,所以學習時不必過分糾結某個產品到底屬于那一類。 ![](https://box.kancloud.cn/2016-08-31_57c6b13936096.jpg) ### 3?應用場景 以上提到的各種內存計算產品可以應用到大數據處理的各個環節上,如下圖所示,其中涉及內存計算的技術標成紅色。 ![](https://box.kancloud.cn/2016-08-31_57c6b1394c7eb.jpg) [ ]() 1)事務處理:主要分為Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB為首的)三部分,緩存和NewSQL數據庫是關注的重點。 2)流式處理:Storm本身只是計算的框架,而Spark-Streaming才實現了內存計算式的流處理。 3)分析階段的對比: ???通用處理:MapReduce,Spark ???查詢:Hive,Pig,Spark-Shark ???數據挖掘:Mahout,Spark-MLLib,Spark-GraphX 從上可以看出,Spark生態圈的子項目以及Impala都是值得關注的重點。 ### [4?核心技術]() [因為內存計算主要釋放了云計算中的計算部分的能量,所以它主要涉及**并行/分布式計算**和**內存數據管理**這兩大方面的技術體系:]() ???并行/分布式計算:網絡拓撲、RPC通信、系統同步、持久化、日志。 ???內存數據管理:字典編碼、數據壓縮、內存中數據格式、數據操作、內存索引、內存中并發控制和事務。 以下簡單列舉了內存計算主流產品中涉及到的技術點: ???Memcached/Redis:一致性哈希。 ???GridGain:DHT、refresh-ahead、off-heap、continuous query。 ???Infinispan:LIRS eviction。 ???Spark(LMAX):immutable model(RDD)。 ???VoltDB:single-threaded。 ???Impala(Dremel):LLVM optimizing、nested record、MPP。 ### 理論 **直接在Google或Bing.com搜索"論文名?pdf"** 《Implementation Techniques for Main Memory Database Systems》 《Main Memory Database Systems: An Overview》 《The Revolution in Database Architecture》?– Jim Gary 《A Study of Index Structures for Main Memory Database Management Systems》 《High-Performance Concurrency Control Mechanisms for Main-Memory Databases》 《A bridging model for parallel computation》?(BSP model) 《SEDA: An Architecture for Scalable, Well-Conditioned Internet Services》 [實時處理與流處理](http://blog.csdn.net/dc_726/article/list/2) [關系代數的并行計算](http://blog.csdn.net/dc_726/article/details/41909647) [并發計算模型BSP與SEDA](http://blog.csdn.net/dc_726/article/details/41628413) [從NSM到Parquet:存儲結構的衍化](http://blog.csdn.net/dc_726/article/details/41777661) ### 產品 **GemFire,VoltDB:** [分布式緩存GemFire架構介紹](http://blog.csdn.net/dc_726/article/details/41378633) [NewSQL數據庫VoltDB特性簡介](http://blog.csdn.net/dc_726/article/details/41909719) **Spark:** [Spark分布式計算和RDD模型研究](http://blog.csdn.net/dc_726/article/details/41381791) [Spark發展現狀與戰線](http://blog.csdn.net/dc_726/article/details/41552421) [分布式內存文件系統Tachyon](http://blog.csdn.net/dc_726/article/details/41552593) **Impala(Dremel):** [Google Dremel數據模型詳解(上)](http://blog.csdn.net/dc_726/article/details/41627613) [Google Dremel數據模型詳解(下)](http://blog.csdn.net/dc_726/article/details/41777619) [Impala中的代碼生成技術](http://blog.csdn.net/dc_726/article/details/41778611)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看