我是Couchbase和NoSql的新手,所以我想知道是否将Couchbase用作NLog日志记录的目标是可行的。我写了一个快速而肮脏的Couchbase/NLog目标,该目标会将信息记录在指定的存储桶中。所以写给CB的工作已经完成。Couchbase for NLog
我看到的问题是从桶中读取/读取数据。我不知道关键的名字......他们只是随机的指导。我只想要转储数据,CB 1.8不支持从.NET客户端获取所有密钥。
因此,如果我想让查看器应用程序查看存储桶中的数据,我该从哪里开始?
我是Couchbase和NoSql的新手,所以我想知道是否将Couchbase用作NLog日志记录的目标是可行的。我写了一个快速而肮脏的Couchbase/NLog目标,该目标会将信息记录在指定的存储桶中。所以写给CB的工作已经完成。Couchbase for NLog
我看到的问题是从桶中读取/读取数据。我不知道关键的名字......他们只是随机的指导。我只想要转储数据,CB 1.8不支持从.NET客户端获取所有密钥。
因此,如果我想让查看器应用程序查看存储桶中的数据,我该从哪里开始?
使用map reduce视图,您可以通过使用下面的doc.key获取所有密钥的列表,或者如果您需要密钥(id)和完整文档,然后只发出doc。这只适用于couchbase 2.0及以上版本。
function (doc, meta) {
if(meta.type == 'json') {
emit(doc.key, null);
}
}
您可以使用cbbackup工具转储所有的数据访问http://www.couchbase.com/docs//couchbase-manual-2.0/couchbase-backup-restore-backup-cbbackup.html
Couchbase还支持将数据复制到在管理控制台中使用XDCR弹性搜索节点/集群。访问http://docs.couchbase.com/couchbase-elastic-search/
您必须将每个密钥及其元数据存储在RAM中。我怀疑你想为日志做到这一点。
您可能想要改为存储在ElasticSearch中。有一个名为Nest的.net客户端,或者你可以只做json帖子。 Elasticsearch在文档和RAM之间没有1:1的关系。
我完全同意elasticsearch,但是couchbase可能会过期文档,所以如果您的保留时间很短,您可以轻松管理合理数量的日志。 – Hans
借助Couchbase Server 3.x,您现在可以从RAM中弹出元数据和文档数据。此功能允许Couchbase Server 3存储极其庞大的数据集,并使您能够增量索引RAM中的更新,即使在大型或高速数据集中也是如此。
另外,正如其他人所指出的,Couchbase服务器具有Lucidworks Solr,ElasticSearch,Splunk等插件。
给Couchbase 3.0试一试,看看你自己!
不幸的是,这不是一个选项。您必须具有密钥名称才能将值从缓存中取出。 – Drahkar
Couchbase 2.0支持map/reduce视图,您可以轻松使用这些视图来查询结果。检出Couchbase实验室ELMAH提供商Couchbase - https://github.com/couchbaselabs/elmah-couchbase。它完成了类似的事情。如果有什么我可以帮忙的,让我知道。 Couchbase的NLog目标将非常棒! –