Современные РСУБД — различия между версиями
Bch (обсуждение | вклад) (Новая страница: «== Корпоративные == {{Определение |definition = '''Корпоративные СУБД''' {{---}} предназначены для пр…») |
м (rollbackEdits.php mass rollback) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
|definition = | |definition = | ||
'''Корпоративные СУБД''' {{---}} предназначены для продажи большим корпорациям. }} | '''Корпоративные СУБД''' {{---}} предназначены для продажи большим корпорациям. }} | ||
+ | |||
+ | ''Замечание'', у большинства корпоративных СУБД есть девелоперские лицензии, которые позволяют использовать их в ограниченной среде (ограничение на кол-во ядер и размер памяти). | ||
* Oracle [http://www.oracle.com/database/] (Oracle) | * Oracle [http://www.oracle.com/database/] (Oracle) | ||
Строка 20: | Строка 22: | ||
* MySQL[https://www.mysql.com/] | * MySQL[https://www.mysql.com/] | ||
** GPL | ** GPL | ||
− | ** различные форматы хранения БД | + | ** поддерживаются различные форматы хранения БД |
** неполная поддержка SQL | ** неполная поддержка SQL | ||
+ | ** есть enterprise и community версии | ||
* PostgreSQL [https://www.postgresql.org/] | * PostgreSQL [https://www.postgresql.org/] | ||
** BSD License | ** BSD License | ||
− | ** непосредственная поддержка связей - СУБД достаточно стабильна чтобы использовать в реальных проектах | + | ** непосредственная поддержка связей - СУБД достаточно стабильна, чтобы использовать в реальных проектах |
− | ** объектные расширения - но в | + | ** объектные расширения - но в то же время эта СУБД - экспериментальный проект, в который добавляется куча различных возможностей, некоторые из которых не выходят из экспериментального статуса |
* Firebird [http://www.firebirdsql.org/] | * Firebird [http://www.firebirdsql.org/] | ||
− | ** используется только в старых проектах, так как в БД, которые используют это СУБД, есть данные, которые нельзя потерять | + | ** была очень популярна когда делалась Borland'ом [https://en.wikipedia.org/wiki/Borland] под Delphi |
+ | ** используется только в старых проектах, так как в БД, которые используют это СУБД, есть данные, которые нельзя потерять, а перенести их очень сложно | ||
== Встраиваемые == | == Встраиваемые == | ||
Строка 39: | Строка 43: | ||
* Apache Derby [http://db.apache.org/derby/] | * Apache Derby [http://db.apache.org/derby/] | ||
** In-memory mode - умеет быть полностью in-memory, а также умеет работать с данными которые в память не поместились | ** In-memory mode - умеет быть полностью in-memory, а также умеет работать с данными которые в память не поместились | ||
− | ** хорошо совместим с DB2, не очень хорошо совместим со всеми остальными | + | ** хорошо совместим с DB2, так как был проектом IBM'а, и из-за этого же не очень хорошо совместим со всеми остальными |
− | ** pure Java | + | ** pure Java - встраивается в любое java приложение |
** Apache License | ** Apache License | ||
Строка 48: | Строка 52: | ||
** не поддерживает транзакции | ** не поддерживает транзакции | ||
** in-memory mode | ** in-memory mode | ||
+ | ** в основном используется для тестирования | ||
* Access [http://office.microsoft.com/access] | * Access [http://office.microsoft.com/access] | ||
Строка 53: | Строка 58: | ||
** Встраиваемые приложения | ** Встраиваемые приложения | ||
− | ''Замечание.'' In-memory базы данных хорошо подходят для | + | ''Замечание.'' In-memory базы данных хорошо подходят для тестирования, потому что каждый пользователь может легко поднять свой instance из-за того что база in-memory и это всё ещё SQL, и каждому из instance'ов не будут мешать тесты других пользователей, также нет проблем с тем что схема данных может быть старой. |
Текущая версия на 19:26, 4 сентября 2022
Корпоративные
Определение: |
Корпоративные СУБД — предназначены для продажи большим корпорациям. |
Замечание, у большинства корпоративных СУБД есть девелоперские лицензии, которые позволяют использовать их в ограниченной среде (ограничение на кол-во ядер и размер памяти).
- Oracle [1] (Oracle)
- высокая пропускная способность (англ. throughput)
- невысокая скорость обновления (англ. latency)
Замечание. Два утверждения выше не противоречат друг другу, хотя каждый запрос и исполняется медленно, пропускная способность получается большой за счёт того, что конкретная СУБД заточена на исполнение тысяч параллельных запросов, и суммарная пропускная способность всех этих запросов, а не отдельных запросов, будет высокой.
- DB2 [2] (IBM)
- Ориентация на «большие» машины, то есть с точки зрения IBM, СУБД это не приложение, которое крутится на сервере, а отдельное железо
- Мало распространена в России, так как развивалась в 60'е - 80'е годы предыдущего века
- Неполная совместимость с SQL
- SQL Server [3] (Microsoft)
- работа под Windows
- Масштабируемость (путём добавления новых процессоров)
Свободные
- MySQL[4]
- GPL
- поддерживаются различные форматы хранения БД
- неполная поддержка SQL
- есть enterprise и community версии
- PostgreSQL [5]
- BSD License
- непосредственная поддержка связей - СУБД достаточно стабильна, чтобы использовать в реальных проектах
- объектные расширения - но в то же время эта СУБД - экспериментальный проект, в который добавляется куча различных возможностей, некоторые из которых не выходят из экспериментального статуса
- Firebird [6]
- была очень популярна когда делалась Borland'ом [7] под Delphi
- используется только в старых проектах, так как в БД, которые используют это СУБД, есть данные, которые нельзя потерять, а перенести их очень сложно
Встраиваемые
- SQLite [8]
- компактна, поэтому много используется на мобильных устройствах
- in-memory mode - все данные должны поместиться в память
- ограниченная реализация SQL-92
- Apache Derby [9]
- In-memory mode - умеет быть полностью in-memory, а также умеет работать с данными которые в память не поместились
- хорошо совместим с DB2, так как был проектом IBM'а, и из-за этого же не очень хорошо совместим со всеми остальными
- pure Java - встраивается в любое java приложение
- Apache License
- HyperSQLDB [10]
- BSD License
- pure Java
- не поддерживает транзакции
- in-memory mode
- в основном используется для тестирования
- Access [11]
- Совмещение СУБД и RAD
- Встраиваемые приложения
Замечание. In-memory базы данных хорошо подходят для тестирования, потому что каждый пользователь может легко поднять свой instance из-за того что база in-memory и это всё ещё SQL, и каждому из instance'ов не будут мешать тесты других пользователей, также нет проблем с тем что схема данных может быть старой.