Matisse

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:15, 17 января 2019.
Matisse
Разработчики: Matisse Software Inc.
Выпущена: 1986; 33 years ago (1986)
Написана на: C++, C, Smalltalk
Платформа: Microsoft .NET , Java
Тип ПО: SQL БД
Лицензия: комерческая
Веб-сайт matisse.com

Matisse - конечная база данных для .NET и Java, представляет собой инновационную базу данных Post-Relational SQL для сред .NET и Java, которая изначально поддерживает объекты и XML. База данных Matisse представляет собой выдающееся решение для архитекторов баз данных, сталкивающихся со сложными бизнес-задачами или научным моделированием.

Описание

Когда дело доходит до базы данных для .NET, в дополнение к хорошо известным SQL Server или MySQL, есть несколько вариантов. Одним из них является Matisse, пост-реляционная база данных Matisse Software. Является первым в мире программируемым сервером данных SQL-Object.

Это единственная база данных SQL, которая расширяется с полными возможностями объекта и изначально поддерживает .NET. Он имеет определенные пользователем типы, наследование, полиморфизм и простую модель данных с декларативными ограничениями.[Источник 1]

Она ориентирована на большие базы данных с богатой семантической структурой и может манипулировать с очень большими объектами, такими как изображения, фильмы и звуки. Хотя она поддерживает основные ОО-понятия, в частности, множественное наследование, но не налагает сильных ограничений на модель данных, а скорее служит мощной машиной ОО-БД.[Источник 2]

Сегодня уникальная технология баз данных Matisse Software позволяет решать проблемы с базами данных и управления данными, с которыми сталкиваются компании при разработке новых приложений и услуг реального времени в таких отраслях, как здравоохранение, науки о жизни, финансовые услуги, защита и производство.

Преимущества

  • Оригинальный метод представления, позволяющий разбивать объект - особенно большой объект - на части, помещаемые на нескольких дисках, и таким образом оптимизировать время доступа;
  • Оптимизированное размещение объекта на дисках;
  • Механизм автоматического дублирования, обеспечивающий программное решение проблемы устойчивости к машинным сбоям: объекты (а не сами диски) могут быть дублированы и автоматически восстановлены в случае сбоя на диске;
  • Встроенный механизм поддержки версий объектов;
  • Поддержка транзакций;
  • Поддержка архитектуры клиент-сервер, в которой центральный сервер управляет данными возможно большего числа клиентов и ведет "кэш" недавно использованных объектов.
  • Matisse предлагает уникальное решение для управления данными, основанное на инновациях, которое может дать производительность примерно в 20 раз больше по сравнению с более старыми базами данных. Для достижения этой производительности Matisse Software продвинула пакет программирования SQL и превратила его в мощный язык для работы с семантическими сетями информации, а не только с использованием двумерных таблиц.
  • Кроме того, благодаря использованию недорогостоящего серверного оборудования с его прорывной архитектурой распределенной обработки данных Matisse обеспечивает масштабируемость данных в режиме реального времени и возможность анализа данных, открывая новые границы для создания приложений и сервисов, которые управляют сложными процессами.

Архитектура

Matisse значительно упрощает архитектуру приложений, устраняя необходимость в слое объектно-реляционного сопоставления и жестких ограничениях, связанных с ним. Только эта функция сокращает длину кода приложения на 30-50%, таким образом, окупается с точки зрения более быстрого выхода на рынок из-за более коротких циклов разработки базы данных, снижения совокупной стоимости владения из-за более низких требований к обслуживанию и более высокой общей производительности базы данных.

Matisse Software использует стандарт SQL для работы с семантическими сетями информации вместо того, чтобы ограничиваться манипулированием двумерными таблицами. Этот мощный подход открывает новые рубежи для создания приложений и сервисов, которые управляют сложными бизнес-процессами и богатыми данными.[Источник 3]

Технология блокировок

Matisse использует оригинальный подход к проблеме минимизации блокировок. Многие системы применяют следующее правило взаимного исключения: несколько клиентов могут читать объект одновременно, но как только один из клиентов начинает писать, ни один из других не может читать или писать. Причина состоит в сохранении целостности объекта, выраженной инвариантами класса. Если разрешить одновременную запись двум клиентам, то объект может стать несовместным, а если некоторый клиент находится в середине процесса записи, то объект может оказаться в нестабильном состоянии (не удовлетворяющем инварианту), так что другой клиент, который его в этот момент читает, получит неверный результат.

Очевидно, что блокировка вида писатель-писатель необходима. Что касается исключений вида писатель-читатель, то некоторые системы их не придерживаются, разрешая операции чтения даже при наличии блокировки записи. Такие операции уместно назвать "грязным чтением" (dirty reads).

Matisse, чьи создатели преследовали цель минимизации блокировок, предложил радикальное решение этого вопроса, основанное на организации управления объектами: никаких операций записи. Вместо изменения существующего объекта операция записи (из ПО клиента) создает новый объект. В результате можно читать объекты без всяких блокировок: всегда будет доступ к некоторой версии БД, на которую не повлияли операции записи, которые могли произойти после начала вашего чтения. Также есть возможность получить доступ к большому числу объектов с гарантией, что все они принадлежат одной и той же версии БД, в то время как при традиционном подходе для достижения того же результата потребовалось бы использовать глобальные блокировки или транзакции, что привело бы к большой потере эффективности.

Следствием такой политики является возможность возврата к предыдущим версиям объекта или самой БД. По умолчанию, старые версии сохраняются, но система предоставляет "сборщик версий", позволяющий избавляться от нежелательных версий.

Источники

  1. An introduction to a post-relational database for .NET, Matisse - Part 1//Codeproject. [1999 – 2019]. Дата обновления: 26.09.2018. URL: https://www.codeproject.com/Articles/6163/An-introduction-to-a-post-relational-database-for (дата обращения: 09.10.2018)
  2. ОО-СУБД: примеры // НОУ ИНТУИТ. [2003 – 2019]. Дата обновления: 19.11.2018. URL: http://www.intuit.ru/studies/courses/72/72/lecture/2172?page=5 (дата обращения: 09.10.2018)
  3. Announcing Matisse, the Post-Relational SQL Database // Javalobby. Дата обновления: 25.10.2018. URL: https://www.javalobby.org/java/forums/t9867.html (дата обращения: 09.10.2018)