Southbank Software公司最近發(fā)布了 dbKoda 0.6.0 ,這是該軟件的 首個(gè)發(fā)布版 。dbKoda是一款開源的 MongoDB 開發(fā)工具,采用JavaScript、 React 和 Electron 開發(fā)。下圖顯示了dbKoda的用戶圖形界面,突出特點(diǎn)是提供了一個(gè)連接管理器(Connection Manager)和代碼編輯器(Code Editor),其中代碼編輯器給出了豐富的MongoDB數(shù)據(jù)操作特性。
連接管理器
連接管理器維護(hù)多個(gè)數(shù)據(jù)庫連接的配置信息(Profile)。在連接管理器窗口的下半部分,顯示了包含每個(gè)活躍數(shù)據(jù)庫連接及相應(yīng)集合(Collection)的列表。點(diǎn)擊鼠標(biāo)右鍵,就會(huì)彈出一系列菜單選項(xiàng),包括構(gòu)建查詢、執(zhí)行CRUD操作、索引和導(dǎo)入導(dǎo)出數(shù)據(jù)(如下圖左側(cè)所示)。連接配置信息編輯器用于創(chuàng)建新的數(shù)據(jù)庫連接,它支持所有形式的數(shù)據(jù)庫連接語法(如下圖右側(cè)所示)。
代碼編輯器
代碼編輯器中包括了查詢輸入輸出窗口,該窗口用于編寫和執(zhí)行MongoDB的Shell命令。編輯器的特性包括了代碼格式化、代碼自動(dòng)完成、代碼折疊和語法高亮顯示。用戶可以在代碼編輯器中手工編寫查詢,也可以使用查詢構(gòu)建器構(gòu)建查詢(如下圖所示)。查詢構(gòu)建器可以在代碼編輯器中動(dòng)態(tài)地生成相應(yīng)的MongoDB的Shell命令。該特性在編寫復(fù)雜的MongoDB Shell命令時(shí)非常有用,它消除了如何正確格式化大括號(hào)和圓括號(hào)的一系列繁瑣操作。
在Southbank Software最新發(fā)布的 dbKoda 0.7.0版 中,提供了如下新特性:
聚合構(gòu)建器(Aggregation Builder); 存儲(chǔ)下鉆(Storage Drilldown); SSH隧道連接(SSH Tunneling Connections); 改進(jìn)的JSON查看器; 導(dǎo)入和導(dǎo)出。
聚合構(gòu)建器的功能類似于查詢構(gòu)建器,支持構(gòu)建需要 aggregate
聚合函數(shù)的更復(fù)雜查詢。在下面的例子中, publications
集合(Collection)使用 $lookup
操作符執(zhí)行與 authors
集合的做內(nèi)連接運(yùn)算。
db.publications.aggregate({"$lookup": {
"localField" : "author_id",
"from" : "authors",
"foreignField" : "_id",
"as" : "authorinfo"
}})
如下圖所示,聚合構(gòu)建器僅需輸入 localField
、 from
、 foreignField
和 as
等鍵值域所需的內(nèi)容,就可動(dòng)態(tài)生成內(nèi)連接運(yùn)算。
Southbank Software公司CTO Guy Harrison 就dbKoda產(chǎn)品接受了InfoQ的采訪。
InfoQ:開發(fā)dbKoda產(chǎn)品的靈感來自于哪里?
Guy Harrison:當(dāng)我撰寫《下一代數(shù)據(jù)庫》(Next Generation Databases)一書時(shí),敏銳地意識(shí)到我們正經(jīng)處于數(shù)據(jù)庫系統(tǒng)的第三次變革中。新一代的數(shù)據(jù)庫專業(yè)人士需要新一代的數(shù)據(jù)庫工具??紤]到我本身就具有數(shù)據(jù)庫和軟件開發(fā)的背景,因此我認(rèn)為自己應(yīng)該嘗試創(chuàng)立一家公司,去推出下一代的數(shù)據(jù)庫工具。
InfoQ:dbKoda為什么以MongoDB為首選?
Harrison:“NoSQL”生態(tài)系統(tǒng)中杰出者眾,我第一時(shí)間能想到就有Cassandra、Couchbase、Hadoop、park和Neo4J等。但是就MongoDB當(dāng)前已具有三千萬次下載使用而言,它無疑是遙遙領(lǐng)先的。
InfoQ: dbKoda未來是否會(huì)提供對(duì)其它數(shù)據(jù)庫的支持?如果是這樣,它將會(huì)支持哪些數(shù)據(jù)庫?時(shí)間節(jié)點(diǎn)如何?
Harrison:我們的確規(guī)劃在未來的一年中提供對(duì)更多數(shù)據(jù)庫的支持,其中包括一些關(guān)系型數(shù)據(jù)庫,也有一些非關(guān)系型數(shù)據(jù)庫。
InfoQ:dbKoda未來將如何發(fā)展?您能為我們?cè)敿?xì)介紹一下1.0版本的規(guī)劃嗎?
Harrison:我們目前正致力于為在NodeJS等框架中使用MongoDB的開發(fā)人員提供更深入的支持,其中包括提供SQL查詢功能(通過 Apache Drill ),并改進(jìn)查詢的構(gòu)建和輸出處理。
我們期待1.0版將具備基于訂購的托管功能,并且是面向服務(wù)器的產(chǎn)品版本,其中包括更深入的性能分析功能、提供協(xié)作特性,并持續(xù)為編程人員使框架對(duì)MongoDB編程提供支持。
InfoQ:您在Southbank Software任職多久了?能為我們介紹一下您當(dāng)前的職責(zé)嗎?
Harrison:我是Southbank Software的CTO及創(chuàng)始人,也是Toba Capital的合伙人。Toba Capital是投資dbKoda的風(fēng)險(xiǎn)投資商之一。我身兼多重職責(zé),包括企業(yè)管理、產(chǎn)品特征設(shè)計(jì)、編寫自動(dòng)測(cè)試以及部分特征的編碼工作。我們的團(tuán)隊(duì)具有六位dbKoda的全職開發(fā)人員。
Harrison給出了一個(gè)五分鐘時(shí)長(zhǎng)的YouTube 視頻 ,其中展示了dbKoda入門指南。
查看英文原文: Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB
您可能感興趣的文章:- Java單例模式下的MongoDB數(shù)據(jù)庫操作工具類
- MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
- MongoDB運(yùn)行狀態(tài)監(jiān)控、性能分析工具mongostat詳解
- mongodb監(jiān)控工具mongostat的使用及命令詳解