Наши преимущества

Реляционная база данных для небольшой сети.

Статус
Закрыто для дальнейших ответов.
Лично я не берусь сравнить бесплатные урезанные версии платных БД между собой и с их бесплатными собратьями. Однако, если кто-то возьмется это сделать, то, думаю, всем бы было очень интересно.
 
dreadangel,
а ты можешь толком объяснить, какое отношение твой вопрос имеет к плюсам и минусах реляционных БД?

P.S. Если тебе от этого станет легче, то MSDE = Microsoft Database Engine.
 
Последнее редактирование модератором:
Присоединяюсь к коллеге рекомендовавшему Firebird и постараюсь добавить аргументов в его пользу
1) наиболее продвинутые компоненты для Дельфи из всех что я видел,я имею в виду Fib+ (Как увидеть ссылки? | How to see hidden links?), это отечественная разработка , просто супер, для ex-USSR стоит недорого , но если что, есть у китайцев , возможностей море, одни макросы в SQL запросах чего стоят
2) Очень надежная - особенно версии Classic for Unix(Linux) - лично у меня работает 2 сервера (уже несколько лет ) - всего 2 сбоя - оба по моей вине.
3) По транзакциям - все то что говорится про транзакции - вопрос скорее религии , кто-то считает что блокировки это хорошо , а как для меня так зная что такое версионность и two phase commit можно работать просто отлично

Добавлено позднее:

вдогонку
там говорилось что у firebird мало функций , так вот уже давно есть куча библиотек для всего что хочешь, причем включать их в свою бд можно по желанию , особенно рекомендую RFUNC
все это можно постмотреть и взять на _www.ibase.ru
 
Последнее редактирование модератором:
Может кто-то из пользователей PostgreSQL замолвит за него доброе слово? Или может будут еще какие-то не обсуждавшиеся варианты?
 
1. to Ognev
Маленькая поправка: MSDE - это Microsoft SQL Server Desktop Engine.

2. По Microsoft SQL Server 2005 Express Edition информации много на сайте MS:
Как увидеть ссылки? | How to see hidden links?

Продукт действительно очень удачный. Особенно удались (по сравнению с предыдущими версиями и конкурентами) средства развёртывания и сопровождения.
Для начала особенно интересно посмотреть Video Series: SQL Server 2005 Express Edition for Beginners (Как увидеть ссылки? | How to see hidden links?).

Замечу, что вся прелесть решений Microsoft раскрывается при интеграции продуктов и принятии идеологии их использования. Например, приложение .NET + ADO.NET 2.0 + MSSQL Express (или нормальный SQL Server) = rulezz, то есть удобство разработки и сопровождения, надёжность и т.п. на высоком уровне. В противном случае всё не так хорошо, как могло бы быть.

3. MySQL лично мне неудобна, "певчая птичка с ярким оперением" нравится намного больше.

4. За PostgreSQL на Windows слова не замолвлю. Под Unix - совсем другое дело.

P.S. А вообще всё зависит от задач... Большинство задач, с которыми реально сталкивался, по большей части прекрасно решались в MS Access, хотя она и не сетевая (с возможностью элементарного перехода к SQL Server). А современные парадигмы создания распределённых систем не предполагают общения с сервером путём посылки SQL-запросов. Всё равно "слой абстракции данных / слой бизнес-логики / слой взаимодействия с пользователем".

P.P.S. Обсуждать реляционную алгебру и называть отношение таблицей - это прикольно...
 
Последнее редактирование модератором:
ploki,
что бы посоветовал почитать по поводу "современные парадигмы создания распределённых систем", очень желательно в сжатом виде? )))

P.S. Честно скажу, что такое реляционная алгебра - не знаю, хотя зачаточное представление об алгебре с точки зрения теории множеств вроде имею ))) ... "мы все учились по немногу" ...
 
to Ognev
Сначала про реляционную алгебру (relation algebra, РА). Это одна из двух формальных систем (алгебраических систем, см. Как увидеть ссылки? | How to see hidden links?, там понятно, хотя и слишком лаконично; но можно взять учебник по высшей алгебре) для описания и манипулирования отношениями (relation) на кортежах (tuple), образующих логическую модель данных. Вторая система - реляционное счисление (или исчисление), оно эквивалентно РА. Отличия, если по-простому, в том, что выражения РА являются набором предписаний, а выражения счисления - набором описаний. Существует несколько различных вариантов формализации РА!
Язык SQL - по сути, язык реляционного счисления (с кучей дополнений), он является реляционно полным, то есть может описать любое отношение.

Для введения в предмет мне нравится книга Дейта:
Дейт К. Введение в системы баз данных, 8-е издание. — Вильямс, 2005. – 1328 с.
Произведения Кодда нравятся меньше - читать труднее, хотя и надо, так как первоисточник.

Кстати, знаменитые правила (или свойства) Кодда, также как, и правила Дейта, - это некоторая идеализация, которая очевидным образом сталкивается лбом с проблемами прозрачности и эффективности.
Рекомендую почитать знаменитые "манифесты", а затем комментарии, например Как увидеть ссылки? | How to see hidden links? и Как увидеть ссылки? | How to see hidden links?.

И ещё, никому не советую глубоко копаться в Википедии (IMHO). Там хорошо посмотреть, есть ли какое-либо понятие и про что оно. Но количесво ошибок при описании серьёзных и глубоких вопросов просто поражает (хотя есть приятные ислключения).



Теперь о "современных парадигмах создания распределённых систем".
Совсем в сжатом очень тяжело. Так что не пинайте сильно.

Во-первых, обсуждать парадигмы проектирования бессмысленно без знакомства с современной инфраструктурой. Поэтому, если кто не лазил (я думаю, что все уже лазили :) ), придётся залезть на Как увидеть ссылки? | How to see hidden links? и почитать стандарты на XML, SOAP, WSDL, RDF, OWL, XQuery, ..........., и т.п, затем залезть куда угодно (мест полно) и почитать про технологии сетевого взаимодействия программных компонентов (RPC, DCOM, CORBA, RMI, MSMQ, .NET Remoting, MPI, ...........). Без базового представления об инфраструктуре не обойтись.

Теперь собственно про парадигмы. Основная мысль - создание сервисно-ориентированных истинно распределённых информационных систем (с вертикальным и горизонтальным распределением) на основе компонентного программирования. Вертикальное распределение предусматривает обязательное выделение нескольких (минимум 4!) уровней абстракции (отсюда многослойные архитектуры). Горизонтальное распределние в основном связано с территориальным распределением и масштабированием, сводясь к параллельному выполнению кода и распределённому хранению данных (отсюда репликация и кэширование). Компонентные технологии для этого обязательны, чтобы бороться со сложностью, и предполагают использование чётких и прозрачных интерфейсов, согласование форматов данных и протоколов взаимодействия, а также удобство интеграции и высокий уровень повторного использования. Ещё одно ключевое слово - это виртуализация (представление любых ресурсов в нужном потребителю виде, независимо от потребностей других потребителей). ВИртуализация позволяет реально создавать истинно гетерогенные системы (например, GRID-технологии).


Некоторые источники:

Microsoft patterns & practices Developer Center:
Как увидеть ссылки? | How to see hidden links?

Software Architecture: Past, Present and Future:
Как увидеть ссылки? | How to see hidden links?

Поддержка разработки распределенных приложений в Microsoft .NET Framework:
Как увидеть ссылки? | How to see hidden links?


Некоторая литература:
1. Э. Таненбаум, М. ван Стен. Распределённые системы. Принципы и парадигмы. — СПб.: Питер, 2003. – 877 с.
2. Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. — Питер, 2006. – 576 с.
3. Бертран Мейер. Объектно-ориентированное конструирование программных систем. — Русская Редакция, 2005. – 1204 с.
4. Хоп Г., Вульф Б. Шаблоны интеграции корпоративных приложений. — Вильямс, 2006. – 672 с.
5. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. — Питер, 2001. – 368 с.

Источников очень много, где-то наверняка есть и красивое сжатое изложение. Кто найдёт - тоже буду признателен.

P.S. Перечитал - понял, что получился оффтопик, но ведь в ответ на вопрос!

P.P.S. Может, новую тему сделать - типа "Доступ к данным в программных продуктах"?
 
Последнее редактирование модератором:
ploki,

Спасибо за ответ. На счет
P.S. Перечитал - понял, что получился оффтопик, но ведь в ответ на вопрос!
будем считать, что это теоретическое дополнение, которое необходимо для понимания сути вопроса ))) Ну и раз уж "пошла такая пьянка", то может продолжим?

Почитал про алгебру ... еще раз убедился, что я не математик ))) Вот не понял, например, чем таки операция отличаются от отношения. По мне, так одно и тоже - сопоставление одному элементу множества другого ... Единственный вариант, что может быть отношение симметричная операция, т.е. из того, что a в отношении с b, следует, что b в отношении a, тогда как для операций вообще это не так. Но все-равно, в этом случае, отношение - частный случай операции (операция, обладающая определенной симметрией) и не понятно их (операций) выделение в отдельный класс.
Теперь, я не совсем понимаю (а точнее совсем не понимаю ))) ) что с точки зрения РА собой представляет БД. Бог с ними, с терминами, это вопрос договоренности, интересует суть. Смутно ощущаю, что элементом множества (или подмножества? или ?) является конкретное значение конкретного поля конкретной таблицы (?). И что есть таблица - подмножество, множество? Прозвучал термин - отношение. Т.е. таблица - это набор элементов, находящихся в неком отношении (которое наглядно можно представить в виде таблицы). Если так, то что тогда есть сама БД и зачем в ней выделять таблицы? Или их выделение есть некое упрощение, которое все и запутывает? Смутно еще ощущаю, что не могу четко разделить то, что можно назвать логической структурой БД (структура таблиц и связей между ними) и конкретное наполнение этой логической структурой данными. Понимаю, что эти вопросы, возможно, выглядят смешными, но ... они есть )))
С остальным ... поверхностно вроде понятно ... что надо читать и думать ))) Будем стараться.

P.S.
P.P.S. Может, новую тему сделать - типа "Доступ к данным в программных продуктах"?
Всеми руками за! Думаю, многие были бы длагодарны.
 
Довольно долгое время работал с Firebird. Недавно, в силу обстоятельств, попробовал Oracle (10g XE). Теперь больше не буду работать ни с какой другой базой!!! Кстати, Oracle 10g XE бесплатный, с ограничением на размер базы (4Гб) и используемой памяти (1Гб). Таких возможностей нет больше ни в какой другой СУРБД! Рекомендую всем!!!
 
Довольно долгое время работал с Firebird. Недавно, в силу обстоятельств, попробовал Oracle (10g XE). Теперь больше не буду работать ни с какой другой базой!!!
Может не в тему, но не мог бы ты расшифровать преимушества Oracle, с твоей точки зрения. Я думаю это было бы полезно для всех. Спасибо :)
 
С моей точки зрения и по сравнению с Firebird:
1. Очень понравилось использовать PL/SQL. В одном компоненте TSQL можно написать обработку, для которой в Firebird требовалось объединять несколько SQL-запросов.
2. Не блокирует данные при транзакциях (сам проверял). В Firebirde часто попадал на deadlock.
3. Работает очень быстро (особенно под Linux-ом).
4. В инете документации по ораклу - вагон.
Это если не копать вглубь.
 
igor_52,
а что можно сказать про сложность\легкость установки и сопровождения этой версии Oracle под Windows?

P.S. Guard, ну почему же не в тему )))
 
Опять повторюсь - работаю с Ораклом недавно, не гуру, перешел с Firebird в силу обстоятельств. Особых сложностей не заметил - куча документации в интернете. Поставился 10gXE легко - запросил только каталог установки. Есть Web-интерфейс для администрирования. Много компонентов под Delphi для разработки приложений. Сейчас переписываю проекты с FB на Оракл.
 
Вытащил в шапку темы некий итог наших обсуждений. Если есть смысл что-то туда добавить, пишите или здесь или в личку.
 
Статус
Закрыто для дальнейших ответов.
Верх