数据库 – 要CouchDB还是不要?

注意:(我已经调查了CouchDB一段时间并需要一些实际经验).

我有一个用于车队跟踪服务的Oracle数据库,这里的一些状态是:

> 100 GB db
>巨大的插入/秒(我们收到的消息)
>可靠的复制(通过4台服务器上的Oracle流)
>重复的查询.

现在的问题是:在这种情况下可以使用CouchDB吗?

注意:为什么我想到CouchDB?

>我已经读过它能够横向扩展的能力.这在我们的案例中非常重要.
>由于它是无架构的,因此我们可以更正确地处理更改,因为我们在不同的表和存储过程中进行了大量更改.

谢谢

编辑I:
我也需要交易.但我也可以容忍其他解决方案.如果复制有一点延迟,那么如果有保证就没问题.

解决方法

您正在享受数据库的以下功能

>在生产中使用它
>数据自然是关系型的(与自身相关)
>巨大的插入率(没有MVCC担忧)
>复杂的查询
>交易

这些都是不切换到CouchDB的原因.

当然,故事并非如此简单.我想你已经发现了许多人从未学过的东西:复杂的问题需要复杂的解决方案.我们不能简单地更换我们的数据库,并在休息一个月.当然,CouchDB(和BigCouch)支持出色的水平扩展(以及跨数据中心复制!),但成本将重写生产应用程序.那是不对的.

那么,CouchDB可以从哪里受益?

我建议您开始使用CouchDB应用程序扩充您的应用程序.部署CouchDB,将数据导入其中,并构建非任务关键型应用程序.看看它最适合的地方.

对于您的项目,这些是CouchDB的关键优势:

>它是一个小巧,简单的工具 – 您可以轻松地在工作站或服务器上进行设置
>这是一个Web服务器.它与您的基础架构和安全策略非常好地集成.

>例如,如果您有灵活的策略,只需在LAN上进行设置即可
>如果您有严格的网络和防火墙策略,则可以在VPN后面或使用SSL证书进行设置

>完成该步骤后,现在可以轻松访问.只需发出http或http请求.无论您是使用自定义工具从Oracle导入数据,还是使用Web浏览器,都是一样的.
>是的! CouchDB也是一个应用服务器!它有一个内置的管理应用程序,用于探索数据,更改配置等(如内置的PHPmyadmin).但对您而言,价值在于将管理应用程序和报告构建为简单的传统HTML / Javascript / CSS应用程序.你可以随心所欲或简单.
>随着项目的发展和变得有价值,您可以使用复制来增长

>使用更大的CouchDB集群扩展核心
>或者,将您的数据和应用程序复制到不同的数据中心,或复制到个人工作站或移动电话等.(到时候,策略将更加明显.)

CouchDB为您提供了一个简单的Web服务器和网站.它为您的数据提供了内置的Web服务API.它使构建Web应用程序变得容易.因此,CouchDB似乎是扩展核心应用程序而不是替换它的理想选择.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...