我们的客户端软件目前正在向我们的SQL Server数据库发送大量的xml,存储为NTEXT,而数据库变得越来越大,性能也越来越糟。 这个XML不需要被索引,只需要被永久保存到磁盘。 有没有一种简单,可靠的方式将这些东西存储到远程服务器上的磁盘上? 我看着CouchDB,但我相信有一个更简单的方法来做到这一点。 我更喜欢unix解决scheme,但什么都可以。 谢谢!
我的公司将拥有一个由大约2-3亿条logging组成的数据集。 源材料是csv,大约150GB未压缩。 我们需要执行数据的初始加载,然后每天更新约1%的logging。 我们也希望能够保持每条logging的历史。 我们目前使用MySQL,似乎有些人正在使用MySQL和PostgreSQL来处理这个大小的数据库,但是我并没有看到有关他们的经验的很多难以理解的信息。 我们肯定可以逃脱,而不会规范化数据,我可以设想分布在很多服务器上的信息。 那么MongoDB或其他一些非传统的数据存储呢? 有没有人对这种努力的可行性有任何想法? 我感谢您能够给予的任何帮助。
在以下设置中,CouchDB复制的最佳方法是什么? A1和A2是一个DC中的两个CouchDB服务器。 他们都从对方那里获取数据,虽然只有一个是积极使用的,另一个只是在第一个失败的情况下待命。 B1和B2在复制方面类似地build立并位于不同的DC中。 实现A-B复制的最佳方式是什么? 我在这里看到两个选项: 选项1: A1从B1和B2拉 A2从B1和B2拉 B1从A1和A2拉 B2从A1和A2拉 A1从A2拉 A2从A1拉 B1从B2拉 B2从B1拉 选项2: A1从B1拉 A2从B2拉 B1从A1拉 B2从A2拉 A1从A2拉 A2从A1拉 B1从B2拉 B2从B1拉 恕我直言选项2是足够的,并涵盖HA设置的所有基地,即单向或其他没有单一故障将阻止数据被复制到所有4个数据库实例。 那里没有太多的数据,我们正在谈论50-100MB的数据最大。 评论欢迎。 谢谢!
我想知道我需要执行什么步骤来安装使用从http://www.couch.io/get#ubuntu包的couchdb? 我明白我需要跑步 sudo chmod a + x name-of-file.bin 然后 sudo ./name-of-file.bin 安装它。 但是在完成上述步骤之后,我需要做些什么来启动couchdb版本1.0.1? 我以前安装couchdb使用 sudo aptitude安装couchdb ,但是这给了我0.10.0版本。 我已经尝试通过去/opt/couchdb-1.0.1/bin启动couchdb(1.01版)来启动沙发,但检查后,couchdb的版本仍然是0.10.0。 那么我如何安装和启动运行couchdb(版本1.0.1)? 最好。
在将我的厨师服务器上的Ubuntu从10.04升级到10.10后,我所有的刀和厨师客户端都停止工作。 我收到401:每个查询和操作的未经授权的例外。 我试图重新注册我的客户( knife client reregister CLIENT ),这没有奏效。 我尝试重新生成我的厨师authentication数据(删除/etc/chef/validation.pem ,重新启动chef-server ,并运行knife configure –initial chef-server knife configure –initial与chef-validation作为pipe理员用户和新生成的/etc/chef/validation.pem作为证书),使我能够用我的新凭证再次连接厨师,但现在我的configuration数据是空的! 正在运行的knife node list没有任何返回。 这表明CouchDB数据库是空的。 实际上,有一个/var/lib/couchdb/0.10.0/chef.couch文件和一个几乎为空的/var/lib/couchdb/1.0.1/chef.couch文件。 我仍然在搞清楚如何恢复我的数据,但有没有人有类似的经验? 您是如何将您的厨师数据库迁移到新的CouchDB版本的?
我最近升级了我的服务器到CouchDB 1.5,我不断地在日志中看到这个错误信息。 CouchDB似乎performance正确接受这个错误。 Fri, 14 Feb 2014 19:07:35 GMT] [error] [<0.105.0>] {error_report,<0.31.0>, {<0.105.0>,crash_report, [[{initial_call, {mochiweb_socket_server,init,['Argument__1']}}, {pid,<0.105.0>}, {registered_name,[]}, {error_info, {exit,eaddrinuse, [{gen_server,init_it,6, [{file,"gen_server.erl"},{line,320}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,239}]}]}}, {ancestors, [couch_secondary_services,couch_server_sup,<0.32.0>]}, {messages,[]}, {links,[<0.94.0>]}, {dictionary,[]}, {trap_exit,true}, {status,running}, {heap_size,1598}, {stack_size,27}, {reductions,593}], []]}}
我正在寻找使用SSL和nodejs的CouchDB,我刚刚从自签名证书(这是工作一个多月)转换到一个真正的SSL证书,现在我遇到了configuration问题。 一路上我分散了几个问题,因为有很多部分,但主要的问题是节点和沙发不再说话。 我有nodejs运行,我正在使用node-spdy扩展( https://www.npmjs.org/package/spdy ) 我有SSL证书configuration: var options = { key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'), cert: fs.readFileSync(__dirname + '/keys/spdy-cert.pem'), ca: fs.readFileSync(__dirname + '/keys/spdy-ca.pem'), }; 第一个问题:我现在有一个中间证书,我怎么告诉nodejs这个?以前我的证书是自签名的,所以我把csr文件放在ca点(上面),并且正在工作。 实际上,今天尝试一下,csr文件和中间证书似乎在那个地方工作,但这不可能是正确的,因此我的问题。 所以如果是csr,那我该如何正确configuration中间证书呢? 我已经看到这个线程︰https: //stackoverflow.com/questions/19104215/node-js-express-js-chain-certificate-not-working 接下来,当我有自签名证书时,couchdb正在使用SSL。 为了让节点和沙发玩SSL好,我不得不在节点上设置此标志: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 这样就停止了节点退出“自签名”证书的错误。 现在我想删除那个标志。 (原来我从这里得到这个技巧: https : //github.com/mikeal/request/issues/418 ) 现在到了主要的问题。 在CouchDB中,我的local.ini有: [httpd] ;port = 5984 ;bind_address = 127.0.0.1 ; Options for the MochiWeb HTTP […]
一位同事build议我把这个从StackOverflow重新发布到ServerFault: 这一直使我疯狂。 我有一个通过Apache Web服务器提供的Web应用程序。 支持应用程序的数据库服务器是Apache CouchDB,它公开了HTTP API来检索文档和stream附件。 我通过提供一个安全对象来保护CouchDB数据库,该安全对象只允许某些用户访问数据库中的数据,并返回401匿名请求到HTTP端点。 我想能够映射公共URL到存储在这个数据库中的文档附件。 所以,我试图在我的.htaccess文件中创build一个重写规则,它将来自某些URL的请求直接代理到CouchDB,同时对用户凭证进行硬编码,如下所示: ## DOWNLOAD STREAM: RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule download/(.*) http://user:[email protected]:5984/database/$1 [P] 在理想的世界中,上面的例子将采用以下URL: http://example.com/download/UUID/attachment.ext 并代理它: http://user:[email protected]:5984/database/UUID/attachment.ext 这个方法确实将请求代理到CouchDB,但省略了URIscheme的userinfo组件。 所以,该请求被视为匿名,我得到一个401错误。 如果从数据库中删除安全性,附件只能stream式传输。 我花了几个小时阅读Apache的configuration和尝试无济于事。 由于所有相关的查询都有类似的关键字,networkingsearch是徒劳的。 我如何确保mod_rewrite包含在代理CouchDB时在重写规则中提供的用户名和密码?
在Ubuntu 14.04上使用CouchDB 1.4之后,我最近试着用15.10和main couchdb包来重新开始。 它安装了couchdb 1.6这是一个可喜的变化,但在沙发上的ubuntu安装文档还没有更新。 我遇到了很多问题,并且正在运行。 我运行了apt-get install couchdb软件包安装并创build了一个couchdb用户和组。 看来,也许Ubuntu的回购没有安装在Ubuntu的couchdb文档相同的位置(这不是一个大问题),但它似乎也没有创build所有需要的文件夹,也没有设置正确的权限。 当我运行couchdb -b ,我得到了Apache CouchDB needs write permission on the PID file: /var/run/couchdb/couchdb.pid 另外(更多的信息),/ var / run / couchdb文件夹不会在安装时被创build,但是如果我创build它(和一些其他的),并将这些权限设置为couchdb:couchdb,向上。 然而,这不会永久性地执行,因为重启后pid文件被重置,我们又回到了原点。 作为一个方面说明,我也不知道是否所有必需的日志或其他文件夹安装时创build。 让我知道你是否注意到任何东西。 作为另一个信息,当我尝试运行sudo -i -u couchdb couchdb ,得到: sudo: unable to change directory to /usr/local/var/lib/couchdb: No such file or directory 这个(usr / local)看起来像文档中的正确文件夹,但Ubuntu 15的安装似乎不使用/ usr […]
我使用CouchDB来每秒处理数千个请求。 在重负载下,似乎响应很慢,所以我开始用阿帕奇板凳进行testing。 沙发可以响应50k请求,1k并发。 然后我把并发提高到了2K,但基准总是在大约8K的请求中被破坏, apr_socket_recv: Connection reset by peer (104) 在CouchDb日志中,我可以find这两个错误: [Sat, 21 Nov 2015 17:16:07 GMT] [error] [<0.8073.2>] {error_report,<0.31.0>, {<0.8073.2>,crash_report, [[{initial_call, {mochiweb_acceptor,init, ['Argument__1','Argument__2','Argument__3']}}, {pid,<0.8073.2>}, {registered_name,[]}, {error_info, {exit, {error,accept_failed}, [{mochiweb_acceptor,init,3, [{file,"mochiweb_acceptor.erl"},{line,34}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,239}]}]}}, {ancestors, [couch_httpd,couch_secondary_services, couch_server_sup,<0.32.0>]}, {messages,[]}, {links,[<0.105.0>]}, {dictionary,[]}, {trap_exit,false}, {status,running}, {heap_size,233}, {stack_size,27}, {reductions,330}], []]}} // and this: [Sat, 21 Nov 2015 17:11:54 GMT] [error] […]