RethinkDB已經將其數據庫移植到Windows

jopen 8年前發布 | 9K 次閱讀 RethinkDB Windows

RethinkDB 已經推出了其數據庫的 Windows版本 。該版本耗時一年開發,可以運行在64位Windows操作系統上,目前尚處于Beta測試階段。

考慮到此次移植所付出的巨大的時間成本,我們采訪了RethinkDB聯合創始人Michael Glukhovsky,了解更多關于其數據庫Windows版本的細節。

InfoQ:將RethinkDB移植到Windows,最困難的部分有哪些?

MG:RethinkDB的異步I/O操作依賴特定于平臺的API。Windows上的相關API同Linux的epoll和OS X的kqueue有很大的不同。在Linux上,開發人員使用epoll獲取通知,讓他們知道一個描述符已經讀或寫就緒。在Windows上,開發人員使用I/O完成端口(IOCP),這需要將異步操作進行排隊,并在操作成功或失敗時發送通知。改寫構建系統是另一個主要的難點。我們必須在Windows上統一編譯所有第三方開源依賴。

InfoQ:RethinkDB有一個跨不同操作系統的公用代碼庫嗎?

MG:是的,RethinkDB有一個統一的跨平臺代碼庫。不過,有些特定于平臺的代碼路徑依賴于本地平臺的API。在我們的GitHub庫中,有一個 arch 目錄,其中包含了所有特定于平臺的代碼。據我們估計,RethinkDB有3%到4%的源代碼是特定于某個操作系統的。

InfoQ:Windows版本的功能同Linux和OS X版本一樣嗎?

MG:RethinkDB on Windows在功能上與Linux和OS X版本相同。該數據庫的特性在所有三個平臺上都是一致的。不過,我們仍然在優化Windows版本,以便它達到同樣的性能。

InfoQ:您能給我們大體介紹下路線圖上有哪些特性嗎?

MG:對于新的Windows移植,我們正努力讓開發人員可以將數據庫作為一個Windows服務運行。更廣泛地講,我們正在實現一些安全特性,如支持數據庫用戶賬戶和權限。此外,我們還在擴展數據庫的實時處理能力,讓開發人員可以在更多的操作中使用changefeeds。

RethinkDB是一個開源、分布式、可擴展的數據庫,可以配置用于實時向應用程序推送數據變化通知,而不是讓應用程序不斷地輪詢數據庫變化。 InfoQ過去曾經介紹過RethinkDB

Kyle KingsburyJepsen 系列文章的作者,他最近對RethinkDB進行了測試,以核實它在使用 majority 讀&寫時是否支持線性操作。Kingsbury總結道:

據我所知,RethinkDB的安全聲明是準確的。如果寫操作的一致性水平低于 majority ,那么可能會丟失更新,并在使用 singleoutdated 讀時遇到各種讀異常,但是 majority/majority 似乎是線性的。

關于這一點,我們建議讀者閱讀 Kingsbury詳細介紹有關測試執行和測試結果的博文 來了解更多信息。

查看英文原文: RethinkDB Has Ported Their Database to Windows

來自: http://www.infoq.com/cn/news/2016/02/rethinkdb-windows

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!