.NET下的文檔型數據庫,RavenDB 3.0 即將發布
RavenDB是一個在.NET下的文檔型數據庫,它具有高擴展性,支持MapReduce,提供RESTful的接口。同時它又支持ACID的事務。
最近Ayende Rahien在一篇博客文章中透露他們剛剛對少數外部人員發布了RavenDB 3.0 alpha預覽版。他表示:在過去18個月左右的時間里我們一直在研發RavenDB 3.0,該版本中的某些部分實際上從2011年就開始研發了,只不過一直到現在才真正發布到產品中。
對于新版本中的主要亮點,Ayende Rahien首先談到的是索引,他說:在提高索引性能方面我們做了大量的工作,但是實際上這些都是次要的。在這個版本中我們真正關注的東西是操作索引的問題。
在內部我們不再使用索引名稱。這意味著我們能做一些愚蠢的事情,例如實現異步索引刪除。之前有大量索引(特別是map/reduce或者有 LoadDocument調用的索引)的用戶發現刪除一個索引可能會花費相當長的時間。但是基于現在的實現方式,我們能夠立即刪除索引,實際上是在后臺做 清理。
用戶碰到的另一個操作問題是新索引的引入。如果要引入的索引僅僅覆蓋了一個很大數據庫的一小部分,那么問題尤其嚴重,創建過程通常會花費很長的時間。這是因為必須要遍歷完數據庫中的所有文檔才行。我們在新版本中做了一些優化,只需要處理相關的文檔,速度比以前快多了。
新索引在引入的時候會和其他正在運行的索引完全分離,你不需要處理新索引會減緩其他索引的問題。同時在這種方式下大的刪除也不再會影響索引的性能,因為我們現在能夠更好地處理交叉。
此外,我們還提供了更好的報告,你能夠清楚現在正在對哪些內容進行索引,能夠看見索引正在做什么,以及相應的操作。
從開發的角度來看,我們還添加了一些非常好的東西,包括索引附件的能力、在索引代碼中添加一些更好的情景感知等。
</blockquote>接下來Ayende Rahien介紹了RavenFS。他認為RavenDB的附件并不是很完美,有很多想要使用附件的用戶發現他們無法看到附件,也沒法以有意義的方式搜索 附件。更重要的是,附件有一些限制,因為按照他們的預期附件是相對較小的。對于那些期望獲得更好服務的用戶而言,RavenFS就是答案。
RavenFS是一個復制文件系統,它支持非常大的文件,同時還支持使用和管理它們所需要的所有設施。我們很明確地將它設計為一個地理分布式系統,對于那些需要共享非常大且會經常變化的文件的系統而言,它能夠大幅降低網絡負載。
在即將舉行的RavenDB大會上我有一個主題演講,那時候我會對RavenFS進行詳細的介紹。我認為它非常酷,同時也有一些非常好的用例,在過去的兩年間已經有一些客戶在產品環境中使用它了,所以我們已經有一些非常好的經驗。
</blockquote>Ayende Rahien表示對于使用RavenDB的用戶而言一個完整功能的JVM客戶端將為他們開辟更多的戰線。現在已經有一些用戶在使用該API構建應用程序了。在3.0交付之后他們還打算提供更多針對其他平臺的客戶端。
談到RavenDB 3.0中的內部變化,Ayende Rahien表示:
實際上我們在內部做了很多變化。但是其中最重要的一個變化是我們現在將RavenDB托管在了OWIN和Web API之上。對我們自己的HTTP服務器的改變已經完成,這是為了幫助用戶有更好的基礎去理解RavenDB內部的工作原理,同時也為了鼓勵捐助。它還允 許我們做一些非常好的事情,例如有一個端點記載一臺RavenDB服務器中的所有端點。
另一個重要的變化是我們正在遠離Silverlight Studio,取而代之的是一個嶄新的HTML5 Studio。這非常令人興奮,特別是整體性能以及系統的響應能力變得非常好。
</blockquote>在新版本中還有一個新的存儲引擎Voron,事實上它還是一種新的數據存儲方式,RavenDB就使用它存儲事務性數據。該引擎并沒有被限制為 RavenDB現在需要做的事情,它可以做更多的事情。RavenDB 3.0中已經有了在Voron上運行的選項。同時Ayende Rahien還表示他們使用整個RavenDB測試套件(有超過3千個測試)對Voron進行了測試,所有的測試均成功了。
最后Ayende Rahien談到了一些運維方面的事情:
我們關閉了性能計數器,因為它會引發無休止的運維問題(損壞的計數器、權限問題等),取而代之的是一個內部的度量類庫。因為是內部的,所以我們能夠向系統中添加更多更有意義的度量標準。
我們有新的端點暴露更多的內部狀態。我們改進了定期備份支持,讓它更好用——現在能定義每周全部導出或者每天定期導出。對于運維人員來說新版本有很多非常好的功能可以讓他們洞悉系統當前的運行情況。
</blockquote> 來自:http://www.infoq.com/cn/news/2014/03/ravendb-3-0-released本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!