2012-08-31 4 views
3

Я новичок в Couchbase и NoSql, поэтому мне интересно, насколько эффективна использование Couchbase в качестве цели для ведения журнала NLog. Я написал быстрый и грязный объект Couchbase/NLog, который регистрирует информацию в указанном ведре. Поэтому запись в ЦБ выполняется и работает.Couchbase for NLog

Проблема, которую я вижу, это получение/чтение данных из ведра. Я не знаю ключевых имен ... они просто случайные. Я просто хочу сбросить данные, и CB 1.8 не поддерживает получение всех ключей от клиента .NET.

Так что, если я хочу сделать приложение для просмотра, чтобы просмотреть данные в ведре, с чего начать?

+0

К сожалению, это не вариант. У вас должно быть имя ключа, чтобы получить значение из кеша. – Drahkar

+1

Couchbase 2.0 поддерживает отображение карт/уменьшений, и вы можете легко использовать эти представления для запроса результатов. Оформить заказ у поставщика Couchbase Labs ELMAH для Couchbase - https://github.com/couchbaselabs/elmah-couchbase. Он выполняет нечто подобное. Если есть что-нибудь, что я могу сделать, чтобы помочь, дайте мне знать. Цель NLog для Couchbase была бы замечательной! –

ответ

1

С помощью сокращения карты вы можете получить список всех ключей с помощью 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/

2

Вы должны хранить каждый ключ и его метаданные в памяти. Я сомневаюсь, что вы хотите сделать это для журналов.

Вместо этого вы можете захотеть сохранить в ElasticSearch. Существует клиент .net под названием Nest, или вы можете просто делать сообщения json. У Elasticsearch нет отношения 1: 1 между документами и RAM.

+0

Я полностью согласен с elasticsearch, но couchbase может истек документов, поэтому вы можете легко управлять разумным количеством журналов, если ваше время удержания короткое. – Hans

0

С Couchbase Server 3.x теперь вы можете извлекать метаданные и данные документа из ОЗУ. Эта функция позволяет Couchbase Server 3 хранить чрезвычайно большие наборы данных и позволяет вам инкрементно индексировать обновления в ОЗУ даже на больших или высокоскоростных наборах данных.

Кроме того, как указывали другие, сервер Couchbase имеет плагины для Lucidworks Solr, ElasticSearch, Splunk и других.

Дайте Couchbase 3.0 попробовать и убедитесь сами!

http://www.couchbase.com/nosql-databases/downloads