Yaacomo

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:23, 17 января 2019.
Yaacomo
Logo yaacomo.png
Разработчики: Q2WEB GmbH
Платформа: Кросс-платформенная
Тип ПО: СУБД
Веб-сайт yaacomo.com

Yaacomo - это интеллектуальная, реляционная система управления базами данных для аналитики в реальном времени, Big Data решений и для многих других целей.

Характеристика

СУБД Yaacomo может управлять большими объемами структурированных и неструктурированных данных. Эта СУБД обеспечивает доступ к данным с полной детализацией и надежно обрабатывает транзакции в соответствии со свойствами ACID.[Источник 1]

Скорость

Программное обеспечение предоставляет данные сразу. Используется аппаратное обеспечение и все доступные многоядерные процессоры. К основным особенностям относится:

  • Гетерогенные вычисления (CPU, включая вычислительные ресурсы GPU, APU)
  • Скорость транзакций в памяти благодаря минимизации трафика ввода-вывода
  • Массовое параллельное выполнение
  • Сжатое столбчатое хранилище
  • Индивидуальные параметры настройки для оптимизации производительности

Емкость и масштабируемость

Для повышения производительности и увеличения производительности обработки данных, Yaacomo может свободно масштабироваться и поддерживает секционирование таблиц для снятия аппаратных ограничений GPU. Его гибкая архитектура обеспечивает стабильно высокую скорость отклика приложений, так как запросы могут распределяться во время пиков нагрузки.

  • Горизонтальная масштабируемость
  • Расширенное управление памятью с помощью секционирования
  • Распределение нагрузки из-за репликации
  • Мощный дополнительный интерфейс для пользовательских команд (JavaScript)

Многосторонность

Yaacomo функционирует как мастер-ключ. Он предназначен для кросс-платформенного использования и интегрируется со всеми процессорами CPU/GPU/APU большинства различных устройств – одно программное обеспечение для всех систем. Необходимо просто иметь устройство с поддержкой OpenCL™, чтобы получить выгоду от массивной вычислительной мощности Yaacomo.

  • Независимый поставщик (процессоры AMD, Intel, Nvidia или ARM)
  • Широкий спектр приложений (смартфон, планшет, настольные и серверные системы)
  • Доступен для различных операционных систем (Linux, Windows)

Простая миграция и интеграция

Нет необходимости в дорогостоящих перезаписях запросов или длительной загрузке данных. Yaacomo поддерживает ANSI SQL и имеет оптимизированные по производительности стандартные интерфейсы, а также интегрированную систему импорта-экспорта.

  • Совместимость с ANSI SQL
  • Открытые API (JDBC, ODBC, MySQL-ODBC)
  • Простые пути миграции на Oracle, MS-SQL Server, MySQL
  • Yaaporter: удобный графический инструмент для импорта и экспорта

Безопасность

Чтобы гарантировать полную автономность корпоративных данных, Yaacomo предлагает безопасный и контролируемый доступ к ним. Его параметры администрирования базы данных включают возможность настройки прав доступа на основе ролей к выбранным объектам базы данных. Это защищает конфиденциальные данные и обеспечивает полную прозрачность.

  • Расширенное шифрование базы данных (AES-256)
  • Передача данных клиент-сервер через защищенные сеансы (SSL)
  • Строгие параметры безопасности, такие как защищенные паролем учетные записи пользователей и четкое назначение прав

Согласованность и высокая доступность

Yaacomo хранит базы данных в работоспособном состоянии. Дополнительные функции защиты позволяют полностью, быстро и легко восстанавливать данные из надежных и воспроизводимых копий. Транзакции всегда записываются и фиксируются на жестком диске. Распределение данных на другие узлы устраняет сбои сервера.

  • Управление транзакциями
  • Резервное копирование данных на жесткий диск
  • Запись всех изменений базы данных через журналы транзакций
  • Аварийное переключение и восстановление с помощью автоматической синхронной или асинхронной репликации

Высокая доступность

Концепция высокой доступности требует, чтобы система была вооружена против всех критических ситуаций и сохраняла "технический мозг" предприятия. Помимо профилактических мер, таких как наблюдение за системой и создание резервных копий, необходимо настроить системы уклонения, на которые можно временно или постоянно переключаться.

Рисунок 1 - Возможное решение для обеспечения высокой доступности

Yaacomo Server Monitoring

Для того, чтобы принять меры по устранению ошибок,которые удерживают сервер баз данных от падения, необходимо проверить систему на наличие важных изменений. Сервер базы данных Yaacomo может быть проконтролирован центральным сервером, который будет отправлять информацию в предопределенные интервалы времени по базе данных. Информация о состоянии будет отображаться на диаграммах. Таким образом, основные компоненты системы гарантируют хорошую работу базы данных.Состояние жесткого диска, GPU дискового пространства рабочей нагрузки, базы данных, доступность веб-сервера, а также отчеты об ошибках для ведения журнала баз данных и синхронизации баз данных могут контролироваться и работать.

Yaacomo Cluster Computing

В кластерах высокой доступности между компьютерами устанавливается так называемая сеть доступности. Если сервер базы данных недоступен, автоматическая отработка отказа гарантирует постоянную и полную доступность системы, а также сведение простоев к минимуму. Для того чтобы достигнуть такого результата, независимые системы можно, к примеру, соединить согласно первично-вторичному принципу. Один из инструментов мониторинга будет следить за "пульсом" первичной системы. Если первичная система терпит неудачу, система автоматически переключится ко вторичной системе.С помощью высокопроизводительных решений для сохранения данных в сети, текущий запас данных будет постоянно дублироваться от активного сервера базы данных в отказоустойчивую систему во время работы системы. Данная отказоустойчивая система в случае поломки сервера данных сразу же предоставляет свежие данные,которые были скопированы.

Yaacomo BackUp Solutions

Пока база данных работает без каких-либо признаков ошибки, пользователь может "зафиксировать" данные,в этот момент все данные и метаданные сохраняются из памяти на жесткий диск. Кроме того, информация о повторе может быть извлечена из обычного журнала Yaacomo. При возникновении ошибки, база данных может быть перезапущена так же, как и база данных на жестком диске, на уровне последней фиксации. Потребитель может продолжать работать без любого затруднения. Процедура, упомянутая выше, не имеет никакого эффекта, если постоянная память повреждена. Следовательно, резервные копии должны использоваться в системе. Резервное копирование будет выполняться в оперативном или автономном режиме. В то время как система работает, резервное копирование базы данных может осуществляться без каких-либо заметных нарушений.

Репликация данных

Yaacomo Replication Technology

Репликация базы данных обеспечивает избыточность, улучшает отказоустойчивость и доступность. Yaacomo обеспечивает механизм односторонний репликации, который позволяет хранит реплики сервера Yaacomo (основной сервер) на одном или более дополнительных серверах. Механизм репликации Yaacomo обеспечивает согласованность данных на основном сервере с данными на резервных серверах. Yaacomo использует модель репликации транзакций, где вторичные серверы получают полную копию данных, а затем получают обновления при изменении данных. Все записи и обновления должны фиксироваться на основном сервере. Операции чтения могут выполняться на одном или нескольких серверах-получателях.

Синхронная репликация

Синхронная репликация записывает данные на первичный и вторичные сервера одновременно. Операция будет успешно завершена тогда и только тогда,когда данных запишутся на всех серверах. Репликация гарантирует, что изменения, дополнения и удаления данных, выполненные на основном сервере автоматически отражены на остальные сервера-получатели.

Асинхронная репликация

Асинхронная репликация записывает данные на первичный сервер,затем асинхронно копирует данные на вторичные сервера.

Рисунок 2 - Репликация данных

Варианты использования

Отказоустойчивость,доступность

Репликация базы данных улучшает отказоустойчивость и обеспечивает аварийное восстановление, высокий уровень доступности. В случае чрезвычайной ситуации сервер-получатель базы данных может быть заменен первичным сервером.

Масштабируемость

Репликация базы данных позволяет легко масштабировать систему путем добавления новых реплик (вторичных серверов). За счет распределения нагрузки на несколько серверов, пропускная способность (время отклика для чтения) может быть увеличена.

Производительность

Выделение дополнительного сервера для крупномасштабных запросов может использоваться для выполнения аналитических запросов без влияния на производительность первичного сервера.

Доступность

Репликация также полезна для распространения данных. Для доступа на чтение можно создать локальную копию данных, что обеспечивает быстрый локальный доступ без необходимости постоянного доступа к первичному звену.

Ключевые преимущества

Архитектура Yaacomo

Базовая архитектура программного обеспечения радикально отличается от архитектуры обычных СУБД, поскольку стандартная архитектура СУБД не соответствует сегодняшним потокам данных и минимальным требованиям к задержке. Yaacomo предлагает удобное all-in решение, которое исключает потребность в дополнительных инструментах.

Рисунок 3 - Архитектура Yaacomo

СУБД на базе OpenCL™

OpenCL™ (от англ. Open Computing Language — открытый язык вычислений) — фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических и центральных процессорах, а также FPGA. В OpenCL входят язык программирования, который основан на стандарте языка программирования Си C99, и интерфейс программирования приложений. OpenCL™ обеспечивает параллелизм на уровне инструкций и на уровне данных и является осуществлением техники GPGPU. OpenCL™ является полностью открытым стандартом, его использование не облагается лицензионными отчислениями. Параллельная обработка данных означает, что ресурсоемкие процессы передаются с центрального процессора(CPU) на графический процессор(GPU). Мощный графический процессор имеет более 2000 вычислительных ядер, готовых к массовому параллельному использованию. Использование потенциала этой высокопараллельной аппаратной архитектуры делает программное обеспечение OpenCL™ таким же мощным, как программное обеспечение на суперкомпьютерах. Jaacomo на базе OpenCL™ предназначена для эффективного использования аппаратного обеспечения с помощью параллельных вычислений, она представляет собой высокопроизводительное вычислительное решение, разработанное для удовлетворения самых высоких требований к доступу и времени вычислений.

Производительность

За счет умных OpenCL™ алгоритмов Yaacomo выполняет только параллельную обработку, когда она выгоднее обработки на одном процессоре.Это обеспечивает высокие темпы ускорения в широких областях ресурсозатратных вычислений. Некоторые их них приведены ниже:

  • Глубокий анализ иерархических данных путем представления древовидных структур -> выявление скрытых связей
  • Наиболее эффективный анализ данных путем объединения записей данных -> обнаружение тенденций и выявление закономерностей
  • Быстрая обработка результатов путем сортировки -> разработка работоспособной структуры
  • Высокоэффективное выполнение различных запросов -> изучение новых аспектов

Построенный на умной и надежной технической основе, с помощью быстрых алгоритмов OpenCL™, Yaacomo даже обошлось без индексации. Это позволяет оставить в прошлом трудоемкие процедуры обновления индексированных деревьев.

Универсальность и удобство использования

Yaacomo включает в себя:

  • простые пути миграции для эффективного импорта данных
  • стандартные интерфейсы для сильно гибких вариантов соединения
  • оптимизированные протоколы передачи для быстрой передачи данных
  • язык запросов SQL для легкого доступа к базе данных и расширенной аналитики
  • Интеграция JavaScript для упрощенных сценариев
  • Автоматическое резервное копирование и репликация для обеспечения высокой надежности и доступности
  • Шифрование для безопасной обработки транзакций
Сравнение с другими СУБД[Источник 2]
Name Yaacomo Cassandra Firebase Realtime DataBase Microsoft Azure Cosmos DB
Описание СУБД на базе OpenCL™,предназначенная для эффективного использования оборудования с помощью параллельных вычислений Хранилище,основанное на идеях BigTable и DynamoDB Облачное документо-ориентированное хранилище в реальном времени, клиенты iOS, Android и JavaScript совместно используют один экземпляр базы данных в реальном времени и автоматически получают обновления с новейшими данными Глобально-распределенная, горизонтально-масштабируемая, многомодельная служба баз данных
Модель основной базы данных Реляционная СУБД Хранилище wide columns документо-ориентированное хранилище документо-ориентированное хранилище, хранилище wide columns, хранилище ключ-значение, графовая СУБД
Модель вторичной базы данных Хранилище ключ-значение
Веб-сайт yaacomo.com cassandra.apache.org firebase.google.com/­products/­realtime-database/ azure.microsoft.com/­services/­cosmos-db/
Техническая документация cassandra.apache.org/­doc/­latest/ firebase.google.com/­docs/­database/ docs.microsoft.com/­en-us/­azure/­cosmos-db/
Разработчики Q2WERB GmbH Apache Software Foundation Google Microsoft
Дата выпуска 2008 Апрель, 2012 2014
Последнее обновление 3.11.3, Август 2018
Лицензия коммерческий продукт open source продукт коммерческий продукт коммерческий продукт
Язык реализации Java
Серверная операционная система Android, Linux, Windows BSD, Linux, OS X, Windows hosted hosted
Поддержка XML нет нет нет
Вторичная индексация да ограничена да да
SQL да SQL-подобные SELECT, DML и DDL операторы нет SQL-подобный язык запросов
API и другие методы доступа JDBC, ODBC Собственный протокол, Thrift Android, iOS, JavaScript API, RESTful HTTP API DocumentDB API, Graph API (Gremlin), MongoDB API, RESTful HTTP API, Table API
Поддерживаемые языки программирования C#, C++, Clojure, Erlang, Go, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala Java, JavaScript, Objective-C .Net, C#, Java, JavaScript, Python
Метод разделения горизонтальное секционирование Шардинг Шардинг
Метод репликации master-slave репликация выбираемый коэффициент репликации да
MapReduce нет да нет интеграция с Hadoop
Концепция транзакций ACID нет да ACID
Параллелизм да да да да
Надежность да да да да
Концепция in-memory да нет
Концепция пользователей Права доступа в соответствии с SQL-стандартом Права доступа пользователей могут быть определены для каждого объекта Права доступа на основе проверки подлинности и правил базы данных Права доступа могут быть определены на уровне элемента

Источники

  1. Official Page Yaacomo // Официальный сайт Yaacomo. [2018]. Дата обновления: 26.09.2018. URL: http://yaacomo.com/ (дата обращения: 26.09.2018).
  2. Knowledge Base of Relational and NoSQL Database Management Systems // DB-Engines. [2019]. Дата обновления: 26.09.2018. URL: https://db-engines.com/en/system/Yaacomo (дата обращения: 26.09.2018).