MongoDB开源数据库开发工具dbKoda

Southbank Software公司最近发布了 dbKoda 0.6.0 ,这是该软件的 首个发布版 。dbKoda是一款开源的 MongoDB 开发工具,采用JavaScript、 React 和 Electron 开发。下图显示了dbKoda的用户图形界面,突出特点是提供了一个连接管理器(Connection Manager)和代码编辑器(Code Editor),其中代码编辑器给出了丰富的MongoDB数据操作特性。

MongoDB开源数据库开发工具dbKoda

连接管理器

连接管理器维护多个数据库连接的配置信息(Profile)。在连接管理器窗口的下半部分,显示了包含每个活跃数据库连接及相应集合(Collection)的列表。点击鼠标右键,就会弹出一系列菜单选项,包括构建查询、执行CRUD操作、索引和导入导出数据(如下图左侧所示)。连接配置信息编辑器用于创建新的数据库连接,它支持所有形式的数据库连接语法(如下图右侧所示)。

MongoDB开源数据库开发工具dbKoda

代码编辑器

代码编辑器中包括了查询输入输出窗口,该窗口用于编写和执行MongoDB的Shell命令。编辑器的特性包括了代码格式化、代码自动完成、代码折叠和语法高亮显示。用户可以在代码编辑器中手工编写查询,也可以使用查询构建器构建查询(如下图所示)。查询构建器可以在代码编辑器中动态地生成相应的MongoDB的Shell命令。该特性在编写复杂的MongoDB Shell命令时非常有用,它消除了如何正确格式化大括号和圆括号的一系列繁琐操作。

MongoDB开源数据库开发工具dbKoda

在Southbank Software最新发布的 dbKoda 0.7.0版 中,提供了如下新特性:

聚合构建器(Aggregation Builder); 存储下钻(Storage Drilldown); SSH隧道连接(SSH Tunneling Connections); 改进的JSON查看器; 导入和导出。

聚合构建器的功能类似于查询构建器,支持构建需要 aggregate 聚合函数的更复杂查询。在下面的例子中, publications 集合(Collection)使用 $lookup 操作符执行与 authors 集合的做内连接运算。

db.publications.aggregate({"$lookup": {
 "localField" : "author_id",
 "from" : "authors",
 "foreignField" : "_id",
 "as" : "authorinfo"
}})

如下图所示,聚合构建器仅需输入 localFieldfromforeignFieldas 等键值域所需的内容,就可动态生成内连接运算。

MongoDB开源数据库开发工具dbKoda

Southbank Software公司CTO Guy Harrison 就dbKoda产品接受了InfoQ的采访。

InfoQ:开发dbKoda产品的灵感来自于哪里?

Guy Harrison:当我撰写《下一代数据库》(Next Generation Databases)一书时,敏锐地意识到我们正经处于数据库系统的第三次变革中。新一代的数据库专业人士需要新一代的数据库工具。考虑到我本身就具有数据库和软件开发的背景,因此我认为自己应该尝试创立一家公司,去推出下一代的数据库工具。

InfoQ:dbKoda为什么以MongoDB为首选?

Harrison:“NoSQL”生态系统中杰出者众,我第一时间能想到就有Cassandra、Couchbase、Hadoop、park和Neo4J等。但是就MongoDB当前已具有三千万次下载使用而言,它无疑是遥遥领先的。

InfoQ: dbKoda未来是否会提供对其它数据库的支持?如果是这样,它将会支持哪些数据库?时间节点如何?

Harrison:我们的确规划在未来的一年中提供对更多数据库的支持,其中包括一些关系型数据库,也有一些非关系型数据库。

InfoQ:dbKoda未来将如何发展?您能为我们详细介绍一下1.0版本的规划吗?

Harrison:我们目前正致力于为在NodeJS等框架中使用MongoDB的开发人员提供更深入的支持,其中包括提供SQL查询功能(通过 Apache Drill ),并改进查询的构建和输出处理。

我们期待1.0版将具备基于订购的托管功能,并且是面向服务器的产品版本,其中包括更深入的性能分析功能、提供协作特性,并持续为编程人员使框架对MongoDB编程提供支持。

InfoQ:您在Southbank Software任职多久了?能为我们介绍一下您当前的职责吗?

Harrison:我是Southbank Software的CTO及创始人,也是Toba Capital的合伙人。Toba Capital是投资dbKoda的风险投资商之一。我身兼多重职责,包括企业管理、产品特征设计、编写自动测试以及部分特征的编码工作。我们的团队具有六位dbKoda的全职开发人员。

Harrison给出了一个五分钟时长的YouTube 视频 ,其中展示了dbKoda入门指南。

查看英文原文: Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB

时间: 2017-09-15

MongoDB使用自带的命令行工具进行备份和恢复的教程

要备份一个数据库, mongorestore -d db /path/to/back_up 例如: mongodump -d bookstore -o /data01/db_backup/ 该命令会dump出该DB所有的collection 从备份文件夹恢复数据 mongorestore -d bookstore /data01/db_backup/bookstore 只备份或回复指定的collection 以bookstore DB 中statistics 表为例 mongodump -d b

MongoDB运行状态监控、性能分析工具mongostat详解

这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康. mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态. 它的输出有以下几列: 1.inserts/s 每秒插入次数 2.query/s 每秒查询次数 3.update/s 每秒更新次数 4.delete/s 每秒删除次数 5.

PHP调试及性能分析工具Xdebug详解

程序开发过程中,一般用得最多的调试方法就是用echo.print_r().var_dump().printf()等将语句打印出来.对PHP脚本的执行效率,通常是脚本执行时间.对数据库SQL的效率,通常是数据库Query时间,但这样并不能真正定位和分析脚本执行和数据库查询的瓶颈所在?对此,有一个叫Xdebug(www.xdebug.org)的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况. 一.以windows平台对此模块的安装做简单的介绍: 1. 下载PH

.NET Visual Studio 代码性能分析工具

下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为".NET代码分析工具和技术"的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流

php轻量级的性能分析工具xhprof的安装使用

一.前言 有用的东西还是记录下来吧,也方便以后的查询:这次记录一下xhprof的安装使用: xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低, 还可以用在生产环境中,也可以由程序开 关来控制是否进行profile. 二.安装 wget http://pecl.php.net/get/xhprof-0.9.3.tgz tar zxf xhprof-0.9.3.tgz cd xhprof-0.9.3/extension /usr/bin/ph

PHP性能分析工具XHProf安装使用教程

HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile.基于浏览 器的性能分析用户界面能更容易查看,或是与同行们分享成果.也能绘制调用关系图.在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序. 它独有的数据计算的报告/后处理阶段.在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开

IE 性能分析工具(asp.net环境)

dynaTrace AJAX 是一个页面性能分析工具,是针对浏览器 IE 6 ~ 8 的.它可以用来分析页面渲染时间.DOM方法执行时间,甚至可以看到 JS 代码的解析时间.JQuery 的老爹 John Resig 也鼎力推荐了一把. 这个工具应该很有用,因为用 IE 的人实在是太多了~~万恶的IE6 ! 去下载:dynaTrace AJAX

Java太阳系小游戏分析和源码详解

最近看了面向对象的一些知识,然后跟着老师的讲解做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下最近学的知识: 用到知识点:类的继承.方法的重载与重写.多态.封装等 分析: 1.需要加载图片.画图 2.建一个面板,主页面 3.行星类 效果图: 先看一下源码结构图: 现在逐步分析各个类的功能: 1)工具类-----util包中 --Constant类   封装了游戏中用到的常量 --GameUtil类  封装了游戏的图片加载功能 --MyFrame类  封装了游戏面板的构造,用于各面板的父类 -

nginx源码分析线程池详解

nginx源码分析线程池详解 一.前言 nginx是采用多进程模型,master和worker之间主要通过pipe管道的方式进行通信,多进程的优势就在于各个进程互不影响.但是经常会有人问道,nginx为什么不采用多线程模型(这个除了之前一篇文章讲到的情况,别的只有去问作者了,HAHA).其实,nginx代码中提供了一个thread_pool(线程池)的核心模块来处理多任务的.下面就本人对该thread_pool这个模块的理解来跟大家做些分享(文中错误.不足还请大家指出,谢谢) 二.thread_

Mongodb中MapReduce实现数据聚合方法详解

Mongodb是针对大数据量环境下诞生的用于保存大数据量的非关系型数据库,针对大量的数据,如何进行统计操作至关重要,那么如何从Mongodb中统计一些数据呢? 在Mongodb中,给我们提供了三种用于数据聚合的方式: (1)简单的用户聚合函数: (2)使用aggregate进行统计: (3)使用mapReduce进行统计: 今天我们首先来讲讲mapReduce是如何统计,在后续的文章中,将另起文章进行相关说明. MapReduce是啥呢?以我的理解,其实就是对集合中的各个满足条件的文档进行预处理

Java 爬虫工具Jsoup详解

Java 爬虫工具Jsoup详解 Jsoup是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据. jsoup 的主要功能如下: 1. 从一个 URL,文件或字符串中解析 HTML: 2. 使用 DOM 或 CSS 选择器来查找.取出数据: 3. 可操作 HTML 元素.属性.文本: jsoup 是基于 MIT 协议发布的,可放心使用于商业项目. js