Сохраняйте большие данные малыми ресурсами.

Анализируйте.


Работа с ColdDB
  • Экономия
    Эффективно использовать ресурсы
  • Производительность
    Быстро сохранять данные
  • Универсальность
    Размещать данные на NAS и других внешних хранилищах
  • Удобство
    Использовать полнотекстовый поиск
Решения для обработки данных, адаптированные для вашего бизнеса
Независимо от того, расширяете ли вы клиентский опыта или создаете критически важные приложения, ColdDB является основой данных для любой отрасли.
Поглощение
данных
Нормализация
Сохранение
Анализ
Визузализация
Функционал ColdDB
Легко создавайте, развертывайте и масштабируйте ваши приложения
  • RPC endpoint + REST API
  • Скорость поиска 1000-2000 записей/секунду
  • Максимальная степень компрессии до 1:50
  • Скорость записи около 16 Мб/секунду
  • Скорость индексирование около 200 Мб/секунду
  • Файловая структура данных
  • Безопасность делегирована Windows
  • Простой язык запросов
  • Простая интеграция
  • База данных документов
Технические особенности

  • Написана на C++
  • Алгоритмы оптимизированы под минимальные требования к аппаратным средствам
  • Может использоваться как база данных временных рядов
  • Современная лямбда-архитектура (пакетный, скоростной и обслуживающий слои)

Производительность
Примеры сообщений:
  • Cisco log: {g10Ud3x64e99e07};{F+};{Cinderella};{KxeD8};{Cx00};{g154};{C-};/o=Enterprise/ou=AT Computers/cn=Recipients/cn=Kings thr:0 <ACTION> variable:5 Desktop:APICaller::Remote Storytelling:Setting to memory from API. *
  • Windows event log
  • Windows Diagnostics log
12.6 Гб (~1.74 миллиарда записей)
от 16.65 Мб/сек. (100 000 записей/сек.)
290 Гб (~1.74 миллиарда записей)
2500 рабочих десктопов, аудит всей it-активности
Intel xeon e5-2670 (12 core)
8 GB RAM, SSD
API: Работайте легко, когда всё является объектом
Мы построили нашу базу данных как разработчики для разработчиков. Поэтому мы всегда хотим, чтобы у вас были надежные инструменты, необходимые для быстрой и удобной работы.


cURL-синтаксис

Мы используем HTTP-запросы для общения с ColdDB. HTTP-запрос состоит из нескольких компонентов, таких как URL-адрес для запроса, HTTP-глаголы (GET, POST и т. д.) и заголовки. Для краткого и последовательного описания HTTP-запросов в документации ColdDB используется синтаксис командной строки cURL. Это также стандартная практика описания запросов к ColdDB в сообществе пользователей.

Пример HTTP-запроса с использованием синтаксиса CURL выглядит следующим образом:

Простой поисковый запрос с использованием cURL.

curl -XPOST "https://localhost:8080/search" -d'
  {
     "query": {
       "match_all": {}
     }
  }'

Приведенный выше фрагмент при выполнении в консоли запускает программу cURL 
с тремя аргументами. Первый аргумент, -XPOST, означает, что запрос, 
который делает cURL, должен использовать HTTP verb. POST. Второй аргумент — это 
URL -адрес, по которому должен быть сделан запрос. Последний аргумент -d'{…}' 
использует флаг -d, который указывает cURL отправлять то, что следует за флагом, 
в качестве данных HTTP POST.

Первая запись "Hello, world!"

Во-первых, давайте добавим документ в хранилище простой документ:

Индексирование простого документа с помощью cURL.

curl -XPOST "https://localhost:8080/MY-DATASTORE/MESSAGE" -d'
  {
          "text": "Hello, world!"
  }'
  

Теперь давайте посмотрим, сможем ли мы найти его, выполнив поиск "привет":

Поисковый запрос по слову "hello".
curl -XPOST "https://localhost:8080/search" -d'
  {
     "query": {
        "query_string": {
            "query": "hello"
          }
       }
  }'

Ответ ColdDB на второй HTTP-запрос должен выглядеть так, как показано ниже, 
и содержать одно обращение.

Пример ответа ColdDB на вышеуказанный запрос.
{
  "hits": {
     "total": 1,
     "hits": [
       {
            "_type": "message",
            "_id": " {626DF4EE-8A62-4689-9E64-B15FDB26F597}",
            "_source": {
                "text": "Hello, world!"
                }
            }
        ]
     }
  }
Синтаксис Curl не зависит от языка программирования, что делает его идеальным для отображения HTTP-взаимодействий таким образом, чтобы он был кратким и независимым от любого языка программирования. Однако в реальном мире, за исключением отладки, мы обычно взаимодействуем с ColdDB с помощью выбранного нами языка программирования. Давайте рассмотрим пару примеров того, как вышеуказанные запросы могут быть реализованы в реальных условиях.


Пример .NET

Теперь давайте посмотрим, как мы можем взаимодействовать с ColdDB из строго типизированного языка C#, используя клиентскую библиотеку NEST, которая вводит больше абстракций.

Чтобы реализовать пример Hello World на C#, мы начнем с создания нового консольного приложения, в которое мы добавим клиент NEST ColdDB с помощью NuGet (PM > Install-Package NEST). Затем мы создаем класс, который мы будем индексировать и искать экземпляры.

C# Класс представляющий сообщение.

namespace HelloColdDB
  {
     public class Message
     {
         public Message(string text)
         {
            Text = text;
          }
        public string Text { get; private set; }
       }
  }

Точка входа нашего приложения, которое реализует пример Hello World 
путем индексации сообщения и последующего поиска, выглядит следующим образом:

Базовый пример индексации и поиска с использованием C# и клиентской библиотеки NEST.

using System;
using System.Threading;
using Nest;
namespace HelloColdDB
  {
      class Program
      {
          static void Main(string[] args)
           {
              //Create a client that will talk to our ColdDB
              var node = new Uri("https://localhost:8080");
               var settings = new ConnectionSettings(
                      node,
                      defaultDataStore: "my-datastore"
              );
              var client = new ColdDBClient(settings);
              //Creating a message object
              var theMessage = new Message("Hello world!");
              client.push(theMessage);
             //Waiting for the data store to be refreshed
                Thread.Sleep(1100);
            //Search for messages and print the results
             var response = client.Search(
                  body => body.Query(
                       q => q.QueryString(
                           qs => qs.Query("hello"))));
           Console.WriteLine("Number of hits: " + response.Total);
             foreach (var hit in response.Hits)
            {
               Console.WriteLine(hit.Source.Text);
             }
         }
     }
  }
Контакты
Попробуйте использовать наш инструмент.
Напишите нам.
Большой просп. Петроградской стороны, 43,
Санкт-Петербург
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности.
Сайт использует cookies чтобы убедиться, что вы получите лучший опыт.
OK
Made on
Tilda