StrokeDB 不僅是另一個(gè)分布式數(shù)據(jù)庫
目前分布式數(shù)據(jù)庫正變得越來越有趣,并且數(shù)據(jù)庫的實(shí)現(xiàn)方式也多種多樣。目前加入Apache旗下的CouchDB項(xiàng)目也給出了一種分布式數(shù)據(jù)庫的實(shí)現(xiàn)途徑。RDDB是***使用Ruby實(shí)現(xiàn)的面向文檔的分布式數(shù)據(jù)庫之一。而由Yurii Rashkovskii和Oleg Andreev編寫的StrokeDB在這個(gè)領(lǐng)域中則是個(gè)新加入的成員,它的作者在Euruko2008大會上也做了相關(guān)的演講(PDF格式講稿)。本文中主要為大家講解StrokeDB這種分布式數(shù)據(jù)庫。
StrokeDB是使用Ruby編寫的可嵌入的分布式文檔數(shù)據(jù)庫。數(shù)據(jù)庫的模式?jīng)]有限制,規(guī)模具備延展性,甚至可以保存每次對數(shù)據(jù)庫的修改的記錄,并且能夠與Ruby應(yīng)用***結(jié)合。
StrokeDB僅發(fā)布了3個(gè)月的時(shí)間,但已經(jīng)具備了眾多有趣的特性,作為分布式數(shù)據(jù)庫,StrokeDB的基本功能列舉如下:
UUID標(biāo)識的單一文檔地址空間。
JSON,無模式的文檔格式。
通過訪問時(shí)自動裝載來與其他文檔建立參照關(guān)系。
StrokeDB還擁有其他與眾不同的特性:
使用內(nèi)置的diff/merge工具來進(jìn)行文檔版本控制。
靈巧的面向?qū)ο驛PI。
跨越文檔槽的簡單搜索索引。
可以根據(jù)具體性能問題來編寫本地代碼。
更多的特性已經(jīng)列表在開發(fā)計(jì)劃之中。
這里還有一份將StrokeDB植入瘦客戶端語言(如JavaScript,ActionScript等等)的聲明,使其可以進(jìn)行離線數(shù)據(jù)操作。
你可以在StrokeDB的GitHub存儲庫中獲取源代碼,還可以查看Yurii撰寫的StrokeDB入門簡介。目前作者們正專注于編寫靈巧的API以及為數(shù)據(jù)庫增加新的特性。陪伴StrokeDB逐步走向成熟,并從測試中了解StrokeDB的性能表現(xiàn)將是一件很有趣的事情。
StrokeDB這種分布式數(shù)據(jù)庫不是很常用,所以導(dǎo)致很多人對此很陌生,不過,相信大家通過上文的講解,現(xiàn)在對StrokeDB這種分布式數(shù)據(jù)庫已經(jīng)有所了解,希望大家都能夠從上文中涉及到的內(nèi)容中有所收獲。