Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Описание и обсуждение проекта


Автор: Vit 29.10.2003, 00:28
Есть такая идея - неоднократно выскакивали вопросы по выбору базы данных, иногда при этом удавалось разорвать замкнутый круг переругиваний типа "MS SQL Server рулёз, а Oracle сакс!", несколько раз попадались товарищи, очень увлечённые какой-то базой данных и дававшие довольно подробную информацию, плюсы и минусы. Может нам попытаться сделать что-то типа FAQ - краткого описания каждого типа баз данных, только максимально объективно и аргументировано с указанием сильных и слабых сторон, критериев выбора. Так чтобы было поменьше субъективной оценки типа - "Всё что MS делает - фигня" или "я пробовал - глюков много", а по-больше объективных критериев:

- возможности
- простота использования
- платформы
- способы доступа
- производительность
- цена
- явные недостатки и преимущества по сравнению с системами такого же класса
- предпочтительные проекты для использования
- проекты в которых не рекомендуется использовать

и т.п.

Потом сделать краткое суммирование и поместить в FAQ по базам данных.

Автор: Kurt 29.10.2003, 01:13
Цитата(Vit @ 29.10.2003, 00:28)
несколько раз попадались товарищи, очень увлечённые какой-то базой данных

Типа меня, надоедливого... smile.gif

Автор: Albinos 29.10.2003, 01:22
Да! Вот это очень надо. Боюсь, объективно н получится, но по крайней мере можно выжать сухой остаток.

Полезно будет.

Автор: Vaulter 29.10.2003, 08:04
дык, а что еще нетуconfused.gifconfused.gif?

Автор: linker 29.10.2003, 10:15
Надо, надо такой фак делать, и объективно должно получится.

Автор: Cashey 29.10.2003, 12:07
Можно попытаться. Я в теме про супер-пупер портал эту идею уже высказал. Вот только написать что-то я могу только про Paradox (а кто не может, да?) и про VFoxPro (если это кому интересно). Вот так вот.

Автор: Vit 29.10.2003, 16:37
Ну вот список примерный:

Сервера баз данных
1) MS SQL Server - Vit?
2) Oracle - Pegas
3) SyBase SQL Anywhere - AntonSaburov
4) Interbase
5) Informix
6) DB/2
7) MySQL
8) Cache - Kurt
9) Advantage Database Server - Vyacheslav
10) PostgreSQL
11) SQLBase - AntonSaburov
12) Btrieve
13) Berkeley DB

Локальные базы данных
1) Парадокс - Vit?
2) Dbase
3) Foxpro/VFP - Cashey
4) MS Access - Vit?
5) Clipper

Базы данных которые можно назвать таковыми с большой натяжкой:
1) MS Excel - Vit?
2) XML - Vit?
3) CSV - Vit?
4) Lotus Notes

Автор: Vit 29.10.2003, 16:48
Ну дык, давайте делать!

Автор: AntonSaburov 29.10.2003, 17:24
Тогда надо определить круг вопросов, которые надо осветить. И уже под них выдавать информацию. А то ИМХО вода получится. Типа таблицы сравнительных характеристик.

Список вопросов будет само-собой расширятся.

В принципе в самом начале уже он есть. Но тогда чисто организационные моменты - куда направлять информацию, где будет лежат сия информация и т.д.

Автор: Cashey 29.10.2003, 17:28
А что такое
Цитата
3) Foxpro.МАЗ
?


Автор: Cashey 29.10.2003, 17:31
Да и еще, что б друг друга не дублировать надо с самого начало распределить направление (писать, думаю, может и группа только в нутри нее нужно обговорить, опять же распределение)

Автор: AntonSaburov 29.10.2003, 17:55
Беру на себя Sybase и SQLBase. Возражения присутствуют ?

Автор: Vit 29.10.2003, 18:17
Цитата(Cashey @ 29.10.2003, 08:28)
А что такое
Цитата
3) Foxpro.МАЗ
?

VPF - punto switcher подправил smile.gif - сейчас исправлю

Автор: Vit 29.10.2003, 18:20
Цитата(Cashey @ 29.10.2003, 08:31)
Да и еще, что б друг друга не дублировать надо с самого начало распределить направление (писать, думаю, может и группа только в нутри нее нужно обговорить, опять же распределение)

Тут 2 соображения - дублирование, это не только двойная работа, это ещё и взгляд 2х независимых участников, что может сделать оценку более объективной. Впрочем конечно распределим роли.

Но перед тем как рваться в бой надо составить примерную схему описания, тут я совершенно согласен с Антоном.

Автор: Vit 29.10.2003, 18:26
Давайте обсуждать, я, в черновую, думаю, план таков:

1) Краткое описание 1 абзац: производитель, существующие версии, домашний сайт, и т.п. Перспективы сервера - фирма производитель - насколько серьёзно настроена на продолжение проекта, или можно считать что проект уже скорее мёртв чем жив.

2) возможности
- количество баз данных на сервере
- количество таблиц в базе
- количество пользователей
- количество одновременных подключений
- наличие View, SP, триггеров, языка программирования
- репликация и синхронизация, перенос данных, средства backup
- поддержка кластеров
- поддержка XML, объектов, внешних процедур.
- возможность взаимодействия между серверами, включая сервера других типов.
- поддерживаемые типы данных
- поддерживаемые конструкции SQL
- поддержка транзакций
- системы репортинга, в том числе для Web
- наличие собственного агента для выполнения заданий по расписанию

3) Защита данных, шифрование

4) простота использования
- наличие встроенных средств администрирования с GUI интерфейсом
- возможность удалённого и Web администрирования
- сложность перевода проекта написанного под другую базу данных на рассматриваемую
- сложность в установке и настройке
- насколько сложно администрирование сервера (в плане если я знаю базы данных вообще и имел дело с другими серверами, насколько сложно будет овладеть администрированием рассматриваемого сервера)
- наличие утилит для автоматизации операций для работы в командной строке
- наличие собственных утилит для отладки запросов (выполнение SQL, построение плана выполнения кверей, профайлер и т.п.), утилиты для слежения за производительностью сервера.

5) платформы
- на которых может работать сервер
- на которых может работать клиент

6) версии продуктов, краткая характеристика отличий

7) способы доступа
- собственные API
- ODBC, JDBC, ADO (OLE DB), DAO, BDE, DBExpress и т.д. - оценка производительности
- языки программирования - дружелюбность, лёгкость использования, с какими языками предпочтительнее работать, какие языки имеют встроенные средства доступа к данной базе данных.

8) производительность
- монопольный доступ
- для большого количества одновременных подключений
- для больших таблиц
- для больших массивов данных

9) цена
- для разных типов лицензирования

10) явные недостатки и преимущества по сравнению с системами такого же класса (только не надо сравнивать парадокс с ораклом)

11) предпочтительные проекты для использования (с точки зрения количества данных, количества пользователей, уровня защищённости, цены, распространённости и т.п.)

12) проекты в которых не рекомендуется использовать (с точки зрения количества данных, количества пользователей, уровня защищённости, цены, распространённости и т.п.)

13) Известные глюки и проблемы (только без всяких там "система глючная" - конкретно: "Имеется проблема когда при таком-то условии происходит то-то и то-то")

14) Краткий обзор основных прилагаемых утилит и средств для обслуживания сервера

15) Краткий обзор наиболее примечательных продуктов третьесторонних производителей для работы с данной базой данных.

16) Иллюстративный материал - несколько screen-shot'ов с утилитами и средствами администрирования, примеры кода собственного языка программирования (PL/SQL, T_SQL или какого ещё, если есть), примеры использования в програмах на C, Дельфи и т.п.. Примеры не надо давать очень навороченные - достаточно буквально несколько строк, чтобы было немного ясно - что за зверь.

17) Ссылки на интернетовские ресурсы

Прошу активнее высказаться каких ещё пунктов не хватает. Может я тут слишком сильно размахнулся, и на многие вопросы у Вас ответов нет, ну так это не страшно - надо начинать, пробелы восполним позднее.

Автор: Vit 29.10.2003, 18:29
Может под этот проект попросить админа выделить подфорум в разделе баз данных? Временно, на время существования проекта, потом этот подфорум с завершением проекта убить, а результаты поместить в FAQ?

Автор: DENNN 30.10.2003, 13:19
Я бы сказал, что это взгляд со стороны "какая БД лучше и для чего предназначена". Но (сужу по себе), для новичка, приступающего к использованию БД, вопрос стоит обычно иначе: "Какие технологии работы с БД есть и что выбрать мне?". Ведь выбор технологии доступа и методов работы не только часто определяет и последующий выбор сервера, но и потенциальную возможность перейти скажем с MSAccess на SQLServer.
Другими словами, я предлагаю вписать подраздел "сравнение технологий доступа к БД". Пусть там все желающие напишут не только сами технологии, но и "стратегические" особенности использования тех или иных методов.

Автор: DENNN 30.10.2003, 13:26
Я со своей стороны, мог бы изложить свои знания по использованию OLE DB на C++.

Автор: Vit 30.10.2003, 15:37
2 DENNN - это отдельный вопрос, кстати в базах данных прикреплён сверху, если ты там напишешь статью будет очень хорошо, но этот проект будет расти несколько в другую сторону. Причём информация прорабатываемая здесь должна быть полезна не только для новичков, но и для продвинутых пользователей, перед ними тоже иногда стоит проблема выбора базы данных и дополнительные сведения отнюдь не помешают.

Автор: Vit 30.10.2003, 15:59
Я, тут, с раздела баз данных перенёс несколько топиков, которые могут быть полезны при разработке.

Автор: Vyacheslav 30.10.2003, 17:55
Беру на себя ADS

Автор: Vyacheslav 30.10.2003, 17:55
В каком виде информацию выдавать? В виде сообщений?

Автор: Vit 30.10.2003, 18:01
Конечный выход: статья FAQ по базе данных.

Как это обсуждать здесь на форуме? - не имеет значения, можешь создать новый топик или даже несколько и туда всё сбрасывать.

Только советую обождать немного с наработкой фактического материала, надо вначале определится с структурой описания, с тем что я описал в этом топике от "29.10.2003, 09:26" - большим синим шрифтом. Очень требуется конструктивная критика по поводу плана, а то написать то мы могём, а потом план будет раскритикован (по крайней мере такое возможно) и прийдётся всё переделывать заново.

2 Vyacheslav - спасибо, что откликнулся.

Автор: Vit 30.10.2003, 19:49
Прикинул кто берёт какую часть. По поводу меня - я поставил себя в слишком большое количество разделов и на крайняк я смогу описать все эти темы, но ИМХО многовато это для меня - поэтому с удовольствием переложу одну или несколько тем на чужие плечи если найдутся добровольцы.

Автор: Cashey 31.10.2003, 10:47
Уже работаю, начало статьи выложил в новом разделе http://forum.vingrad.ru/index.php?act=ST&f=53&t=14120

Автор: stron 31.10.2003, 19:30

Хотелось бы ещё видеть инфу для различных версий одного и того же продукта
(напр. MsSQL 7.0, MsSQL2000, Oracle8i, Oracle9i), т.к. далеко не всегда используются последние, а возможности и рез-ты тестов могут отличаться.

З.Ы. Или можно добавить пункт "What's new..."

Автор: Vit 31.10.2003, 19:48
Принято!

Автор: Cashey 5.11.2003, 14:29
Что-то меня терзают смутные сомнения, а нужен ли этот FAQ кому-нибудь? 8 человек сказали - ДА, 8 согласны принять участие в его создании (по-крайне мере на словах). Активность на этом фронте минимальная (я бы даже сказал никакой, кроме меня никто не отметился, да и мою статью по большому счету проигнорировали).
Создание такого FAQ требует от людей проделать большой объем работы и будет очень обидно, если это будет интересно малому числу программистов. Может кто меня ободрит, а то я собрался было по PARADOX'у писать, да вот не уверен, что это кому-то нужно.

Автор: Cashey 5.11.2003, 14:33
Цитата
Прикинул кто берёт какую часть. По поводу меня - я поставил себя в слишком большое количество разделов и на крайняк я смогу описать все эти темы, но ИМХО многовато это для меня - поэтому с удовольствием переложу одну или несколько тем на чужие плечи если найдутся добровольцы.

А что именно? Чем можешь поделиться? smile.gif И вообще на проектом кто-нибудь работает? Если да, то где можно посмотреть, кто над какой базой карпеет?

Автор: Vit 5.11.2003, 16:15
Здесь же - в этом топике, взгляни на список баз данных.

Автор: Cashey 5.11.2003, 16:32
Vit н-да, когда я последний раз его смотрел там етого небыло smile.gif
Значит так, из локальных могу взять любую, кроме Access. Но не все сразу разумеется smile.gif Если есть пожелания о пререгативах - высказывайте. Из сетевых, только Interbase sad.gif и то только в крайнем случае.
Только скажите - это на всамом деле кому-нибудь будет полезно?

Автор: Vit 5.11.2003, 18:53
Думаю что очень полезно. Ты где-нибудь видел такую инфу собранную вместе и независимую от производителей?

Автор: Cashey 5.11.2003, 21:37
Цитата
Ты где-нибудь видел такую инфу собранную вместе и независимую от производителей?

Например, здесь http://www.codenet.ru/db/ smile.gif

Автор: Vit 5.11.2003, 22:29
Ну это не совсем то, да и описаний у них всего на 4 базы данных, мы сделаем лучше! Хотя кое-какую инфу можно у них взять...

Автор: Cashey 6.11.2003, 09:37
Цитата
а то я собрался было по PARADOX'у писать
, так понял smile.gif , Vit, над чем еще работаешь? Если конечно решил чем-то поделится smile.gif

Автор: Vit 6.11.2003, 15:51
Парадокс уж я докончу, а всё что угодно кроме него можешь пока брать...

Автор: miratech 6.12.2003, 14:06
Позвольте высказать быть может несколько оригинальное, но аргументированное мнение.
Программисту, перед которым стоит задача выбора оптимальной СУБД, удобнее исходить не из анализа отдельных фичей отдельных СУБД, а из анализа требований к реализации той задачи, которая перед ним стоит. Возможно, в итоге никакая СУБД ему вообще не понадобится. Поэтому с точки зрения пользователя группировать FAQ по различным агхитектурам СУБД неэффективно. Лучше сгруппировать его по классам конечных программных продуктов, в которых эти СУБД исльзуются.
Согласитесь, что как-то странно видеть в одном ряду MySQL, Cache и Berkeley DB. Статистика успешности программных проектов итак достаточно печальна, так что лучше не дезориентировать программистов еще и на этапе выбора СУБД.
СУБД различных производителей дифференцируются в первую очередь не отдельными фичами, а областями их применения. И именно по областям применения (типам конкретных задач, отраслям, способам распространения ПО) их следует группировать. Именно по таким законам живет и рынок СУБД. К тому же только с точки зрения применимости для решения конкретных задач их можно сравнивать, иначе каждая фича каждой СУБД будет одновременно и ее достоинством, и недостатком.
А пока что считаю нецелесообразным размещать информацию о СУБД в этом FAQ. Если единая точка зрения не зафиксирована, то всегда найдется такая точка зрения, с которой неоспоримое преимущество превратится в столь же неоспоримый недостаток, и наоборот.

Автор: Unregistered 6.12.2003, 19:07
Цитата
СУБД различных производителей дифференцируются в первую очередь не отдельными фичами, а областями их применения. И именно по областям применения (типам конкретных задач, отраслям, способам распространения ПО) их следует группировать
И какие предлагаете способы группировки?

Цитата
А пока что считаю нецелесообразным размещать информацию о СУБД в этом FAQ. Если единая точка зрения не зафиксирована, то всегда найдется такая точка зрения, с которой неоспоримое преимущество превратится в столь же неоспоримый недостаток, и наоборот.
Т.е., это понимать так, что FAQ не нужен, и даже вреденconfused.gif

Автор: Vit 6.12.2003, 20:29
2 miratech - мдя, странное мнение...

Цитата
Программисту, перед которым стоит задача выбора оптимальной СУБД, удобнее исходить не из анализа отдельных фичей отдельных СУБД, а из анализа требований к реализации той задачи, которая перед ним стоит.


Ну мы не маркетингом занимаемся, а даём информацию и помогаем программисту самому разобраться с ситуацией. Вы предлагаете готовое решение на блюдечке "Если у Вас проект делающий это, это и это - тогда Вам надо использовать вот эту базу данных". Мы не ставим целью сделать готовые шаблоны решений на все случаи жизни и считаем, что выбор базы данных должен исходить прежде всего от программиста на основании знаний разных баз данных и на основании собственного опыта, а не на основании данного ему шаблона. Это пусть в отделе продаж фирм выпускающих базы данных об этом голова болит. Ваш подход - это подход персоны продающей базу данных, и цели Вы преследуете прежде всего в том чтобы продать продукт и навязать своё мнение программисту - что он должен использовать, а что нет и в каких ситуациях. Мы же исходим из того что программист есть человек думающий, способный к анализу и может сам проанализировать что его продукт делает в чём нуждается и какой инструментарий может в наибольшей степени удовлетворить его нужды. Мы лишь служим поставщиком информации, по возможности предоставляя её в максимально объективном виде, а оценку сией информации целиком и полностью перекладываем на совесть читателя.


Цитата
Возможно, в итоге никакая СУБД ему вообще не понадобится.


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

Цитата
Поэтому с точки зрения пользователя группировать FAQ по различным агхитектурам СУБД неэффективно. Лучше сгруппировать его по классам конечных программных продуктов, в которых эти СУБД исльзуются.


Полный негатив, нигилизм. Отрицать всё просто, особенно легко и приятно критиковать чужую работу и чужие начинания с позиции "Всё что вы делаете - не эффективно". Не нравится наша работа - предложите свою классификацию с аргументированным обоснованием.

Цитата
Согласитесь, что как-то странно видеть в одном ряду MySQL, Cache и Berkeley DB. Статистика успешности программных проектов итак достаточно печальна, так что лучше не дезориентировать программистов еще и на этапе выбора СУБД. СУБД различных производителей дифференцируются в первую очередь не отдельными фичами, а областями их применения. И именно по областям применения (типам конкретных задач, отраслям, способам распространения ПО) их следует группировать.


А нет никакого ряда. Есть список всех баз данных о которых я хоть что-то слышал. Можно их расоложить в любом порядке.

Цитата
Именно по таким законам живет и рынок СУБД.


Как раз задача этого проекта заключается уйти максимально далеко от рынка СУБД, всего что связано с маркетингом, рекламой, прессингом производителей, рекламной информации от разработчиков и т.п.
Я предлагаю лозунг: "Информация, информация. Никакой рекламы, никаких готовых решений. Только ознакомление с тем, что есть и выдор за программистом."


Цитата
К тому же только с точки зрения применимости для решения конкретных задач их можно сравнивать, иначе каждая фича каждой СУБД будет одновременно и ее достоинством, и недостатком.


Ну, я надеюсь, что идиотов среди читателей этого FAQ не будет, а человек, наделённый абсолютно необходимым для программиста, аналитическим умом сам, без всяких готовых решений и шаблонов, группировок и классификаций сможет сам разобраться что для его задачи будет являться достоинством, а что недостатком.

Цитата
А пока что считаю нецелесообразным размещать информацию о СУБД в этом FAQ.


Я так и не понял аргументов. Неужели дело только в классификации и плане описания баз данных?

Цитата
Если единая точка зрения не зафиксирована, то всегда найдется такая точка зрения, с которой неоспоримое преимущество превратится в столь же неоспоримый недостаток, и наоборот.


Ну это же просто прекрасно! Это именно то что мы и добиваемся: никаких "единых точек зрения", вообще по возможности никаких точек зрения, на фиг они нам нужны, нам нужна информация, а не рекомендации комивояджера.

Автор: miratech 7.12.2003, 20:05
2 Vit:
Я же не предлагаю искажать информацию. Я предлагаю сгруппировать ее таким образом, чтобы чтобы она была удобна для тех, кто еще не набил по две шишки на каждой СУБД (кстати, именно СУБД, а не БД, раз уж Вы собрались заняться просвещением народных масс - все-таки есть между ними разница). А если FAQ расcчитан на тех, кто "без всяких готовых решений и шаблонов, группировок и классификаций сможет сам разобраться", то это, извините, уже не FAQ. FAQ - это по определению сборник рецептов. Не верите - почитайте любой популярный FAQ. Может, Вам просто следовало бы его как- нибудь иначе назвать, чтобы не вводить таких как я в заблуждение относительно Ваших целей? А то тратишь время, хочешь людям помочь, а потом получаешь ярлык нигилиста и очернителя.

2 Unregistered :

Цитата
И какие предлагаете способы группировки?

Например:
1) Приложения для портативных устройств;
2) Приложения для управления/мониторинга внешних устройств;
3) Энциклопедии, справочники, словари, переводчики, и т.п.;
Мультимедийные БД и компьютерные игры;
4) Приложения для работы со сложными, ресурсоемкими документами и подшивками документов;
5) CAD, CAM
6) Складской учет, бухгалтерия и т.п.
7) Информационно-справочные системы;
8) Форумы, гостевые книги, база данных о посетителях сайта, и т.п.;
9) Системы принятия решений
10) Хранилища данных
11) .... все, что принципиально отличается от вышеперечисленного с точки зрения используемых СУБД.


Цитата
Т.е., это понимать так, что FAQ не нужен, и даже вреден

Просто это не FAQ, это обзор СУБД. И значит нужно назвать его обзором СУБД. И тогда он тоже будет нужен и полезен. Особенно если приводить объективные сравнительные характеристики различных СУБД. Но для этого должен существовать объективный критерий сравнения. И этот критерий хорошо известен - эффективность создания ПО конкретного типа (to Vit: и маркетинг здесь ни при чем).

Автор: Vit 8.12.2003, 03:51
Цитата
И значит нужно назвать его обзором СУБД.


Согласен на 100%, Ваше название лучше отражает суть. Но дело не в названии, название потом придумаем, думаю что суть проекта в описании изложена достаточно доходчиво. Проект будет таким каким он описан, то что Вы предлагаете это совсем другой проект и совсем другой подход. Хотите реализовать? Окажу любую помощь на которую буду способен, но это будет другой проект, не этот.

Автор: miratech 8.12.2003, 11:24
2 Vit:
Спасибо за понимание с Вашей стороны. Со своей стороны попытаюсь не выходить за рамки Вашей, авторской концепции проекта.

Автор: вутмук 25.2.2004, 13:16
InterBase/Firebird забираю себе, если ещё свободно. ;)

Автор: Medved 25.2.2004, 21:42
Цитата
InterBase/Firebird забираю себе, если ещё свободно. ;)

Хорошо, но только придерживайтесь плана, который предоставил на первой страничке Вит.
Отмечать в списке Вас пока что не буду, все же, прежде надо согласовать этот вопрос с Витом.

Автор: Medved 25.2.2004, 21:44
Беру Oracle.

Автор: Medved 25.2.2004, 21:46
И Вит, имхо надо еще добаавить в списиок DBISAM.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)