db4o
Последнее изменение этой страницы: 17:01, 28 января 2018.
![]() | |
Разработчики: | Action |
---|---|
Написана на: | Java |
Операционная система: | Кросс-платформенное |
Тип ПО: | База данных |
Лицензия: | GNU GPL, Проприетарная лицензия |
Веб-сайт |
db4o |
db4o (database for objects) - встраиваемая система управления базами данных для объектов с открытым исходным кодом. Для некоммерческого использования DB4O доступна под лицензией GPL. Написана на Java и .NET и предоставляет соответствующие API. Может быть запущена на любой ОС, поддерживающей Java или .NET.
Общее
DB4O[Источник 1]. представляет собой объектно-ориентированную базу данных.Разрабатываемые на DB4O базы данных не требуют создания отдельной модели данных, модель приложения определяется структурой данных в базе DB4O.
DB4O можно использовать как дополнительный инструмент вместе с другими реляционными базами данных. В DB4O-RDBMS обмен данными выполняется с помощью копирующей системы (dRS). Так же dRS может использоваться для перемещения между объектом (DB4O) и реляционными технологиями (RDBMS).
Недостатки
- Плохая полнотекстовая индексация.
- Отсутствие встроенной поддержки импорта/экспорта, XML (eXtensible Markup Language), JSON (JavaScript Object Notation).
- Поля при удалении не удаляются - лишь скрываются.
- Медленный поиск по тексту.
- Необходимо стороннее ПО для настройки отображений.
- Так же другие недостатки СУБД для объектов, такие как: малое количество поддерживаемых сторонних программ (например OLAP и резервного копирования), слабая математическая модель.
- Отсутствие поддержки со стороны разработчика.
Особенности
- LINQ - позволяет создавать объектно-ориентированные запросы любой сложности. Связывает реляционные и объектовые хранилища данных.
- Нативные запросы - позволяют разработчикам использовать непосредственно языки программирования для доступа к базе данных, что исключает возможность SQL-инъекций.
- Db4o обеспечивает некоторые административные функции: индексация, дефрагментация, дублирование.
- Документация - Db4o обеспечивает различные источники документации : обучающая программа, ссылки на документацию, документацию API (Application Programming Interface) и блоги. Достаточное количество важной информации также может быть доступной из форумов, статей и т.п.
- Встраиваемость - db4o проектируется таким образом, что она является вложенной в другие программные компоненты, полностью невидимой пользователю. Поэтому, db4o не нужен никакой отдельный инсталляционный механизм.
- Client-server метод - позволяет db4o держать связь между клиентскими приложениями и сервером. Db4o использует TCP/IP (Transmission Control Protocol/Internet Protocol) для обмена данными типа client-server и позволяет устанавливать номер порта. Коммуникация осуществляется через запросы.
- Кодовая база - Db4o содержит функцию, позволяющий хранить любой объект с единственной командой: .
Пример
Файл Person.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Person
{
public String firstName;
public String lastName;
public byte age;
public String title;
public Person(string firstName, string lastName, byte age)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public Person(string firstName, string lastName, byte age, string title)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.title = title;
}
public String ToString()
{
return title + " " + firstName + " " + lastName + ": " + age;
}
}
}
Файл Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Db4objects.Db4o;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//открыть файл "person.data"
using (IObjectContainer db = Db4oEmbedded.OpenFile("person.data"))
{
//объявляем новых людей
Person stefan = new Person("Max", "Mustermann", 17);
Person pohl = new Person("Alfred", "Adams", 33);
Person eckl = new Person("Florian", "Dietrich", 21);
//храним их
db.Store(stefan);
db.Store(pohl);
db.Store(eckl);
db.Commit();
//*
//получаем людей из бд
IObjectSet result = db.QueryByExample(new Person(null, null, 0, null));
//вывод результатов
while (result.HasNext())
{
Person next = (Person) result.Next();
Console.WriteLine(next.ToString());
}
Console.Read();
//закрываем бд
db.Close();
}
}
}
}
Пример работы с Db4o
Скачать ресурс можно с сайта сервиса под Вашу среду. [Источник 2].
Источники
- ↑ Db4o // Официальный сайт.URL: http://www.db4o.com (дата обращения:21.10.2017)
- ↑ Аctian // Электронный ресурс. URL:http://supportservices.actian.com/versant/default.html (дата обращения:21.10.2017)
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.