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

Статус
В этой теме нельзя размещать новые ответы.

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Лично я не берусь сравнить бесплатные урезанные версии платных БД между собой и с их бесплатными собратьями. Однако, если кто-то возьмется это сделать, то, думаю, всем бы было очень интересно.
 

dreadangel

Местный
Регистрация
12 Янв 2007
Сообщения
84
Реакции
15
Credits
130
Может кото-то толком обьяснить что такое MSDE?
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
dreadangel,
а ты можешь толком объяснить, какое отношение твой вопрос имеет к плюсам и минусах реляционных БД?

P.S. Если тебе от этого станет легче, то MSDE = Microsoft Database Engine.
 
Последнее редактирование модератором:

eugene_iy

Местный
Регистрация
26 Янв 2006
Сообщения
11
Реакции
3
Credits
22
Присоединяюсь к коллеге рекомендовавшему Firebird и постараюсь добавить аргументов в его пользу
1) наиболее продвинутые компоненты для Дельфи из всех что я видел,я имею в виду Fib+ (Для просмотра ссылки Войди или Зарегистрируйся), это отечественная разработка , просто супер, для ex-USSR стоит недорого , но если что, есть у китайцев , возможностей море, одни макросы в SQL запросах чего стоят
2) Очень надежная - особенно версии Classic for Unix(Linux) - лично у меня работает 2 сервера (уже несколько лет ) - всего 2 сбоя - оба по моей вине.
3) По транзакциям - все то что говорится про транзакции - вопрос скорее религии , кто-то считает что блокировки это хорошо , а как для меня так зная что такое версионность и two phase commit можно работать просто отлично

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

вдогонку
там говорилось что у firebird мало функций , так вот уже давно есть куча библиотек для всего что хочешь, причем включать их в свою бд можно по желанию , особенно рекомендую RFUNC
все это можно постмотреть и взять на _www.ibase.ru
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Может кто-то из пользователей PostgreSQL замолвит за него доброе слово? Или может будут еще какие-то не обсуждавшиеся варианты?
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
1. to Ognev
Маленькая поправка: MSDE - это Microsoft SQL Server Desktop Engine.

2. По Microsoft SQL Server 2005 Express Edition информации много на сайте MS:
Для просмотра ссылки Войди или Зарегистрируйся

Продукт действительно очень удачный. Особенно удались (по сравнению с предыдущими версиями и конкурентами) средства развёртывания и сопровождения.
Для начала особенно интересно посмотреть Video Series: SQL Server 2005 Express Edition for Beginners (Для просмотра ссылки Войди или Зарегистрируйся).

Замечу, что вся прелесть решений 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. Обсуждать реляционную алгебру и называть отношение таблицей - это прикольно...
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
ploki,
что бы посоветовал почитать по поводу "современные парадигмы создания распределённых систем", очень желательно в сжатом виде? )))

P.S. Честно скажу, что такое реляционная алгебра - не знаю, хотя зачаточное представление об алгебре с точки зрения теории множеств вроде имею ))) ... "мы все учились по немногу" ...
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
to Ognev
Сначала про реляционную алгебру (relation algebra, РА). Это одна из двух формальных систем (алгебраических систем, см. Для просмотра ссылки Войди или Зарегистрируйся, там понятно, хотя и слишком лаконично; но можно взять учебник по высшей алгебре) для описания и манипулирования отношениями (relation) на кортежах (tuple), образующих логическую модель данных. Вторая система - реляционное счисление (или исчисление), оно эквивалентно РА. Отличия, если по-простому, в том, что выражения РА являются набором предписаний, а выражения счисления - набором описаний. Существует несколько различных вариантов формализации РА!
Язык SQL - по сути, язык реляционного счисления (с кучей дополнений), он является реляционно полным, то есть может описать любое отношение.

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

Кстати, знаменитые правила (или свойства) Кодда, также как, и правила Дейта, - это некоторая идеализация, которая очевидным образом сталкивается лбом с проблемами прозрачности и эффективности.
Рекомендую почитать знаменитые "манифесты", а затем комментарии, например Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся.

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



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

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

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


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

Microsoft patterns & practices Developer Center:
Для просмотра ссылки Войди или Зарегистрируйся

Software Architecture: Past, Present and Future:
Для просмотра ссылки Войди или Зарегистрируйся

Поддержка разработки распределенных приложений в Microsoft .NET Framework:
Для просмотра ссылки Войди или Зарегистрируйся


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

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

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

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

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
ploki,

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

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

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

igor_52

Местный
Регистрация
31 Мар 2004
Сообщения
40
Реакции
6
Credits
68
Довольно долгое время работал с Firebird. Недавно, в силу обстоятельств, попробовал Oracle (10g XE). Теперь больше не буду работать ни с какой другой базой!!! Кстати, Oracle 10g XE бесплатный, с ограничением на размер базы (4Гб) и используемой памяти (1Гб). Таких возможностей нет больше ни в какой другой СУРБД! Рекомендую всем!!!
 

Guard

Premium
Регистрация
6 Мар 2004
Сообщения
58
Реакции
2
Credits
232
Довольно долгое время работал с Firebird. Недавно, в силу обстоятельств, попробовал Oracle (10g XE). Теперь больше не буду работать ни с какой другой базой!!!
Может не в тему, но не мог бы ты расшифровать преимушества Oracle, с твоей точки зрения. Я думаю это было бы полезно для всех. Спасибо :)
 

igor_52

Местный
Регистрация
31 Мар 2004
Сообщения
40
Реакции
6
Credits
68
С моей точки зрения и по сравнению с Firebird:
1. Очень понравилось использовать PL/SQL. В одном компоненте TSQL можно написать обработку, для которой в Firebird требовалось объединять несколько SQL-запросов.
2. Не блокирует данные при транзакциях (сам проверял). В Firebirde часто попадал на deadlock.
3. Работает очень быстро (особенно под Linux-ом).
4. В инете документации по ораклу - вагон.
Это если не копать вглубь.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
igor_52,
а что можно сказать про сложность\легкость установки и сопровождения этой версии Oracle под Windows?

P.S. Guard, ну почему же не в тему )))
 

igor_52

Местный
Регистрация
31 Мар 2004
Сообщения
40
Реакции
6
Credits
68
Опять повторюсь - работаю с Ораклом недавно, не гуру, перешел с Firebird в силу обстоятельств. Особых сложностей не заметил - куча документации в интернете. Поставился 10gXE легко - запросил только каталог установки. Есть Web-интерфейс для администрирования. Много компонентов под Delphi для разработки приложений. Сейчас переписываю проекты с FB на Оракл.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Вытащил в шапку темы некий итог наших обсуждений. Если есть смысл что-то туда добавить, пишите или здесь или в личку.
 
Статус
В этой теме нельзя размещать новые ответы.