<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      STSdb,最強純C#開源NoSQL和虛擬文件系統

      2013-05-21 19:37  靈感之源  閱讀(21475)  評論(79)    收藏  舉報

       

      回顧

      幾個月前寫了一篇文章,關于 C#寫的NoSQL開源項目/系統(系列),看過該文章的同學,估計會對.NET能實現高效的NoSQL是有信心的。幾個月過去了,有了新進展。

       

      STSdb是什么

      再來說明一下STSdb是什么:STSdb是C#寫的開源嵌入式數據庫和虛擬文件系統,支持實時索引,性能是同類產品的幾倍到幾十倍,訪問官方網站。

       

      特性

      • 支持幾十億級別的數據存取
      • 支持TB級別文件大小
      • 并行架構,在服務器上性能爆快
      • 實時索引
      • 內置壓縮
      • 內置自動序列化
      • 無數據碎片
      • 快速隨機插入
      • 支持任意數據類型
      • 支持稀疏分散的文件(byte[])
      • 純C#,支持mono

       

      為什么?

      數據庫的共同點

       

      每個數據庫都有一個共同點,就是受限于索引結構,因此每當改進了索引數據結構,性能也隨之大增。

       

      性能瓶頸

       

      在數據庫系統中,每當對數據進行索引,數據的邏輯位置會被映射到物理設備,這個映射嚴重依賴設備的尋址時間。

       

      解決辦法

      當遇到性能瓶頸時:

       

      辦法就是,不對每個操作都進行一次尋址,而是每次尋址都做多個操作。

       

       

      解決方案-WATERFALLTREE? (瀑布樹)

      STSdb 4.0突破性地發現并實現了Waterfall-tree (瀑布樹)樹結構。Waterfall-tree是注冊商標,并且擁有專利。與傳統的B+樹類似,但B+樹是同步操作,而瀑布樹是分組異步操作。

      現有的解決方案有一個共同的缺點:當索引隨機主鍵的時候,I/O性能不高(退化嚴重)。

      而STSdb4.0的瀑布樹帶了來前所未有的性能提升。

      下圖直觀地展示了瀑布樹的原理:

       

       

       

      性能比較

       

      數據庫存儲設計
      Amazon Dynamo DB Zero-Hop Distributed Hash Table
      Cassandra Memtable / SSTable
      Couch DB Append-only B-tree
      Db4objects B-tree
      Google Big Table SSTable (log-structured storage)
      H base Memtable / SSTable on HDFS
      Level DB LSM-tree
      Memcached Memory caching
      Mongo DB B-tree
      Oracle Berkeley DB B+-tree
      Perst B-tree/T-tree/R-tree/Patricia trie/KD-tree
      Redis In-memory only with background snapshots
      Scalaris In-memory only
      Tokyo Cabinet Hash or B-tree

       

       

      隨機寫

       

      隨機讀

       

      順序寫

       

      順序讀

       

      這個性能,只能用兇殘來形容啊!

       

      應用領域

       

       

       

      Hello STSdb

      打開數據庫并寫入數據

      using (StorageEngine engine = new StorageEngine("stsdb4.sys", "stsdb4.dat"))
      {
          XIndex<int, string> table = engine.OpenXIndex<int, string>("table");
       
          for (int i = 0; i < 1000000; i++)
          {
              table[i] = i.ToString();
          }
       
          table.Flush();
          engine.Commit();
      }
      

       

      讀取數據

      using (StorageEngine engine = new StorageEngine("stsdb4.sys", "stsdb4.dat"))
      {
          XIndex<int, string> table = engine.OpenXIndex<int, string>("table");
       
          foreach (var row in table) //table.Forward(), table.Backward()
          {
              Console.WriteLine("{0} {1}", row.Key, row.Value);
          }
      }
      

       

      更多例子

      可以訪問這里查看更多的例子,或者下載類庫或代碼,里面有pdf文檔。

       

      許可

      盡管STSdb在官網沒有說明許可,但從版本的開源項目托管網站來看,許可是GPL 2.0+。

       

      線程安全

      大家比較關心線程安全,我在這里講解一下。假設有某XIndex:FooIndex,有2種情況:

      1. 只有一個實例,在多個線程中訪問該實例,那么FooIndex線程不安全;

      2. 每個線程都有單獨的實例,那么FooIndex線程安全。

       

      C/S架構

      4.0最終版會帶來C/S架構,這樣,STSdb不再是單機NoSQL,而是跟MongoDB那樣可以通過Java/.NET客戶端訪問服務器端。

       

      說明

      雖然我在微博上說明了這個產品不是我寫的,我只是在業務系統中使用了這個產品,但一些網友誤會了這是國產,更誤會我是作者,這個我在這里道歉。

       

      STSdb的作者是保加利亞的STS Soft SC公司,該公司多年來從事大數據(Big Data)和實時業務的開發,點擊這里看公司介紹

      主站蜘蛛池模板: 久久夜色精品国产亚洲a| 亚洲色欲在线播放一区二区三区| 国产情侣激情在线对白| 国产成人高清亚洲综合| 亚洲国产色一区二区三区| 亚洲中文字幕无码中字| 最新精品国产自偷在自线| 99精品国产中文字幕| 忘忧草社区在线www| 久久综合色一综合色88欧美| 91精品国产一二三产区| 欧美黑人又粗又大久久久| 99国产欧美另类久久久精品| 99精品久久免费精品久久| 国产精品一区在线蜜臀| 国产69精品久久久久99尤物| 成在线人视频免费视频| 高清自拍亚洲精品二区| 精品av无码国产一区二区| 91一区二区三区蜜桃臀| 亚洲精品一区二区三区蜜| Y111111国产精品久久久| 久久天天躁夜夜躁狠狠85| 亚亚洲视频一区二区三区| 久久99热只有频精品8| 亚洲の无码国产の无码步美| 亚洲国产精品一区二区久| 午夜精品久久久久久99热| 日韩高清不卡免费一区二区| 制服丝袜美腿一区二区| 国产极品美女高潮抽搐免费网站| 日韩成人午夜精品久久高潮| 成人看的污污超级黄网站免费| 永寿县| 起碰免费公开97在线视频| 亚洲一区二区三区自拍公司| 免费av深夜在线观看| 国产一区二区日韩在线| 《特殊的精油按摩》3| 最新偷拍一区二区三区| 国产精品粉嫩嫩在线观看|