Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Вниз

Асы Delphi! Помогите с выбором БД.   Найти похожие ветки 

 
Александр Я.   (2005-11-01 10:59) [0]

Есть данные - около 3 млн. записей.
Каждая запись порядка 50 полей.
Никаких арифм. действий делать не надо - только некие выборки.
Возможно данные возрастут до 6 млн записей (года за три).
Стоит выбор - куда это загнать - Oracle или MS SQL Server 2000.
Интерфейс будет на Delphi. Не хочется стрелять из пушки по воробьям, но и вариант перехода через три года на Oracle не хотелось бы. Спецов по БД нет, учить с нуля. Посоветуйте!
С уважением, Александр.


 
Курдль ©   (2005-11-01 11:04) [1]

Какой прирост записей в единицу времени?
Если за 3 года до 6 млн - с этим и MS SQL справится.
Главный вопрос для критерия "оракл/не оракл" - это "Сколько одновременно работающих юзверей?"
Учить с нуля полезнее оракл - пригодится в жизни больше :)


 
Sergey13 ©   (2005-11-01 11:05) [2]

Ты не те данные приводишь. Важно сколько народу будет этим пользоваться.
FB - дешево и сердито. Подробности на ibase.ru


 
Ega23 ©   (2005-11-01 11:11) [3]


> Ты не те данные приводишь. Важно сколько народу будет этим
> пользоваться.
> FB - дешево и сердито. Подробности на ibase.ru


Для данной задачи сгодится и бесплатная версия MS SQL - MSDE.


 
Sergey13 ©   (2005-11-01 11:15) [4]

2[3] Ega23 ©   (01.11.05 11:11)
Пока "Для данной задачи" сгодится все что угодно. Ибо задача неясна. 8-)


 
Zacho ©   (2005-11-01 11:17) [5]

Возможно, в данном случае я окажусь неправ, но 50 полей в записи обычно свидетельствуют о неправильно спроектированной, ненормализованной БД.


 
Александр Я.   (2005-11-01 11:24) [6]

Будет одновременно работать 6 человек (отдел архива).
Плюс человека три на просмотр.
Еще из тридцати филиалов туда нужно будет данные подгружать (дополнять, загружать, вносить и т.п.).
Дано указание - Oracle или MS SQL Server. Иные варианты не рассматриваются. Меня еще волнует вопрос с какой БД на Delphi легче работоать.


 
Александр Я.   (2005-11-01 11:26) [7]

БД как таковой нет. Есть объекта с параметрами. В проекте разделить параиетры на три таблицы, плюс таблиц пять будут справочники.


 
Desdechado ©   (2005-11-01 11:27) [8]

Бесплатные версии платных серверов либо дэсктопные (на 1 пользователя), либо с лицензией разработчика (запрещено использовать для обработки служебных данных, можно только для отладки продаваемых программ).


 
Sergey13 ©   (2005-11-01 11:27) [9]

2[6] Александр Я.   (01.11.05 11:24)
>Дано указание - Oracle или MS SQL Server. Иные варианты не рассматриваются.

Тогда та которую лучше знаешь. Для обеих твои объемы - детский лепет. И их использование для 6 человек - верх снобизма, объяснимый только тем, что оба сервера будут ворованные.

>Меня еще волнует вопрос с какой БД на Delphi легче работоать.

С правильно спроектированной.


 
Курдль ©   (2005-11-01 11:30) [10]


> Zacho ©   (01.11.05 11:17) [5]
> Возможно, в данном случае я окажусь неправ, но 50 полей
> в записи обычно свидетельствуют о неправильно спроектированной,
>  ненормализованной БД.

Иногда бывает нужда. Например, знаменитое платежное поручение имеет как раз около 50 полей. И держать их нормализованными - опасно. Если получатель сменит напр. ООО на ЗАО, а через год во что бы то ни стало понадобится копия прошлогодней платежки - вот тогда-то денормализация и поможет!


 
Курдль ©   (2005-11-01 11:35) [11]


> Меня еще волнует вопрос с какой БД на Delphi легче работоать.


Если использовать компоненты DOA (Direct Oracle Access), то с ними можно творить чудеса. Они имеют прямую связь с последовательностями и автоматом подставляют их значения в указанные идентификаторы, они имеют встроенные отладчики запросов, большое количество событий (напр. без OnApplyRecord я вообще не представляю себе работу) и очень много других полезных свойств.
Такого я ни у каких других компонент не видел.


 
Александр Я.   (2005-11-01 11:41) [12]

По поводу снобизба. Если директор ездит на лендкрузере последней модели, то почему бы не купить Oracle ЛИЦЕНЗИОННЫЙ для 6 человек?
Я думаю выбор БД (Oracle или MS SQL) обусловлен теми же критериями, что и выбор машины. Я тут поискал, по MS SQL литературы больше. И обучение дешевле.


 
Anatoly Podgoretsky ©   (2005-11-01 11:44) [13]

Курдль ©   (01.11.05 11:30) [10]
Не более чем недостатки дизайна, не понимания бизнес процесса.


 
Курдль ©   (2005-11-01 11:48) [14]


> Александр Я.   (01.11.05 11:41) [12]

Для Ваших задач оракл можно установить "по умолчанию" (т.е. всегда отвечать "да" при установке) и больше никогда не трогать :)

Изучать его администрирование тогда не понадобится, хотя по этому поводу написано большое количество толковых книг.
А изучение PL/SQL займет не больше, чем TSQL (думаю, что месяца хватит).


 
Курдль ©   (2005-11-01 11:54) [15]


> Anatoly Podgoretsky ©   (01.11.05 11:44) [13]
> Не более чем недостатки дизайна, не понимания бизнес процесса.


Это к чему?


 
Александр Я.   (2005-11-01 12:00) [16]

> А изучение PL/SQL займет не больше, чем TSQL (думаю, что
> месяца хватит).
Я извиняюсь, а это что?
Исходные данные:
Набор данных в виде Excel-евских таблиц.
1-ый программист знает pascal и малость Delphi.
2-ой программист знает FoxPro.
Нужно получить:
БД на Oracle или MS SQL Server и удобный интерфейс для работы.
Ваши советы?


 
Sergey13 ©   (2005-11-01 12:03) [17]

2[12] Александр Я.   (01.11.05 11:41)
>По поводу снобизба. Если директор ездит на лендкрузере последней модели, то почему бы не купить Oracle ЛИЦЕНЗИОННЫЙ для 6 человек?

Что то я только замечал часто, что чем круче мащина, тем менее легальны пути достижения такого изобилия. Предложи ему ездить на карьерном Белазе. Круче его не будет никого. 8-)

Впрочем это все офтопик. Сори.


 
Курдль ©   (2005-11-01 12:12) [18]


> Александр Я.   (01.11.05 12:00) [16]


PL/SQL - язык программирования серверной логики оракла и усложненных запросов.
Ничего особенного не представляет. Надо помнить структуру и синтаксис построения процедур, функций и триггеров.
Если задача не предполагает сложной серверной логики, без его знания можно обойтись вовсе, используя лишь стандартных запросов.
Transact SQL - язык программирования серверной логики Watcom - Sybase, который был натянут и на MS SQL Server.
Он еще проще вышеупомянутого и без него также можно обойтись.


 
Anatoly Podgoretsky ©   (2005-11-01 12:18) [19]

Александр Я.   (01.11.05 12:00) [16]
MS SQL Server
Он и с Экселем и с ФокПро и черт знает с чем еще микрософтовским интегрируется.


 
Anatoly Podgoretsky ©   (2005-11-01 12:19) [20]

Курдль ©   (01.11.05 11:04) [1]
У МС есть ограничение на размер базы - это 1 000 000  террабайт.


 
Anatoly Podgoretsky ©   (2005-11-01 12:20) [21]

Ega23 ©   (01.11.05 11:11) [3]
Слишком мощная для этого система.


 
Anatoly Podgoretsky ©   (2005-11-01 12:25) [22]

Александр Я.   (01.11.05 11:26) [7]
При таких требования можно не говорить о базе, любая слишком мощная, можно даже на текстовых файлах.
MSSQL и Oracle элементаро справляются с сотнями/тысячами запросов в секунду и базами на многие миллиарды записей.
Это не те характериски, которые как то влияют на выбор.


 
Александр Я.   (2005-11-01 12:43) [23]

Большое человеческое спасибо всем, кто откликнулся на мою просьбу.
По БД я понял. Остался вопрос по Delphi. С какой БД все-таки будет проще и быстрее начать работу и получить результат?


 
Sergey13 ©   (2005-11-01 12:49) [24]

2[23] Александр Я.   (01.11.05 12:43)
>С какой БД все-таки будет проще и быстрее начать работу и получить результат?

Как повезет. Попробуй обе и сравни. 8-)


 
Fay ©   (2005-11-01 13:35) [25]

2 Александр Я.   (01.11.05 12:43) [23]
Без разницы


 
ANB ©   (2005-11-01 16:39) [26]


> Александр Я.   (01.11.05 12:43) [23]

Выскажу свое голимое имхо.
Плюсы MS SQL по сравнению с ораклом :
1. Легче ставить
2. Легче админить
3. Нет некоторых мешающих жить проблем оракла, т.е. нормально работают незащищеные векторные запросы и нету ошибки мутации таблиц (за счет отказа от триггеров уровня строки)
4. После установки дистрибутива есть все для работы

Минусы MS SQL
1. Ставиться только на серверную операционку
2. Нету нормальных компонентов прямого доступа, т.е. оптимальным выбором будет ADO со всеми плюсами и минусами
3. Нет понятия валидности программных объектов, т.е. часть синтаксических ошибок будет вылезать в RunTime.

Плюсы оракла :
1. Более развитый язык ХП (причем намного)
2. Есть компоненты прямого доступа
3. Есть крутые сторонние средства для работы
4. Более развитый язык запросов (одно построение дерева чего стоит)
5. С помощью сторонних компонетов прямого доступа можно более гибко управлять отображением данных и их редактированием. Особенно ODAC в этом продвинут.

Минусы :
1. Намного труднее ставить (8 - ка работает после 3-х патчей, плюс дистрибутив надо сам патчить). Про 9 трепать не буду - мне ее завсегда админы ставили.
2. Надо больше учить.
3. Из средств работы с сервером в дистрибутиве идет только SQL Plus. Он, конечно, крут, но пользуются только им только самые продвинутые админы. Все удобное нужно добывать и ставить отдельно.
4. Есть бяки, про которые узнаешь с опытом.


 
Sergey13 ©   (2005-11-01 17:00) [27]

2[26] ANB ©   (01.11.05 16:39)
Поспорить можно. Но лень и рабочий день заканчивается.

Тут другая проблема, ИМХО.

[16] Александр Я.   (01.11.05 12:00)
> Исходные данные:
Набор данных в виде Excel-евских таблиц.
1-ый программист знает pascal и малость Delphi.
2-ой программист знает FoxPro.

Нужно получить:
БД на Oracle или MS SQL Server и удобный интерфейс для работы.

Есть велосипедист и самокатчик. Нужен Камаз, и чтоб ездил красиво. Да еще там прицепы (филиалы) вроде....

При всем моем уважении к автору топика и нежелании его обидеть.
ИМХО - утопия ждать нормальной отдачи от такого "проекта" в обозримые сроки.


 
evvcom ©   (2005-11-01 17:04) [28]


> А изучение PL/SQL займет не больше, чем TSQL (думаю, что
> месяца хватит).

Ну насчет месяца это ты загнул, хотя смотря до какого уровня :)
Вообще Oracle столько всяких примочек в SQL нареализовывал, что мне он уже давно нравится больше, чем MS SQL. Хотя и не буду утверждать, что в MS SQL нельзя сделать чего-то такого, что можно в Oracle. Ну и насчет перспектив. Сами специалисты по Oracle ценятся выше.


 
Zacho ©   (2005-11-01 17:04) [29]

2 Александр Я.  :

Осмелюсь дать совет: наймите сотрудника с опытом работы хоть с какой-нибудь РСУБД. И используйте ту РСУБД, которую этот сотрудник будет знать.

Просто, исходя из

>1-ый программист знает pascal и малость Delphi.
> 2-ой программист знает FoxPro.

без разницы, какую РСУБД вы выберете, всё равно в процессе работы наступите на множество граблей :) Лучше действительно наймите опытного человека.В результате дешевле обойдётся.


 
evvcom ©   (2005-11-01 17:09) [30]


> нету ошибки мутации таблиц (за счет отказа от триггеров
> уровня строки)

Ну ошибка эта объяснима и лечится не сложно. Зато какая прелесть эти триггеры уровня строки!


 
evvcom ©   (2005-11-01 17:12) [31]


> Про 9 трепать не буду - мне ее завсегда админы ставили.

После дистриба 9.2.0.1 ставится патч 9.2.0.6. Без этого патча я нарвался уже на 3 или 4 ошибки, после патча пока проблем не встречал.


 
Курдль ©   (2005-11-01 17:17) [32]


> evvcom ©   (01.11.05 17:04) [28]
> Хотя и не буду утверждать, что в MS SQL нельзя сделать чего-то
> такого, что можно в Oracle.

Это уже даже не смешно.
Попробуйте заставить MS SQL не блокировать таблицу всем пользователям, пока кто-то в ней модифицирует данные.
Попробуйте получить идентификатор следующей записи выбранной таблицы на клиенте.
Попробуйте получить "древовидный" набор данных (это, конечно, "бантик" оракла, но очень приятный).
Это навскидочку и со стороны только программиста, а не администратора!


 
evvcom ©   (2005-11-01 17:27) [33]


> Попробуйте заставить MS SQL не блокировать таблицу всем
> пользователям, пока кто-то в ней модифицирует данные.

Но я и не утверждал, что в MS SQL можно сделать все, что можно в Oracle. :) Я просто давно уже не работал с MS SQL.

> Попробуйте получить идентификатор следующей записи выбранной
> таблицы на клиенте.

Это делается в хранимке сразу после инсерта. Читается глобальная переменная, уже не помню какая.

> Попробуйте получить "древовидный" набор данных (это, конечно,
>  "бантик" оракла, но очень приятный).

Кто-то из мастеров (не помню кто) с полгода назад приводил функцию, возвращающую аналогичное "дерево".
На все остальное мой ответ аналогичный первому. :)
О вкусностях Оракла я не спорю, самому нравятся.


 
Polevi ©   (2005-11-02 10:48) [34]

>Курдль ©   (01.11.05 17:17) [32]
у меня работает


 
Курдль ©   (2005-11-02 11:00) [35]


> Polevi ©   (02.11.05 10:48) [34]
> >Курдль ©   (01.11.05 17:17) [32]
> у меня работает

Что именно? Безблокировочный доступ?!! 8-()


 
Polevi ©   (2005-11-02 11:19) [36]

>Курдль ©   (02.11.05 11:00) [35]
нет длинных блокировок, а у тебя ?


 
Александр Я.   (2005-11-02 13:15) [37]

Я уже прочувствовал, какая пропасть передо мной открывается, но идти надо!
А сколько, прмерно, будет стоить написать такой прект как уменя?


 
Polevi ©   (2005-11-02 13:23) [38]

мильен


 
Александр Я.   (2005-11-02 13:32) [39]

Да ладно свистеть.
Я думаю 150-200 тыс хватит.


 
Sergey13 ©   (2005-11-02 13:41) [40]

2 [37] Александр Я.   (02.11.05 13:15)
>Я уже прочувствовал, какая пропасть передо мной открывается, но идти надо!

Я еще раз повторю, что не хочу тебя обидеть как то.
Я был в подобной ситуации. После нескольких лет Клиппера сразу свалились Делфи и Оракл. Интернета не было (у меня). Не было и знающих все это коллег. Книги тогда тоже были не в таком изобилии. Полгода я парился прежде чем стал понимать примерно что там в Оракле и как. Потом поехал на курсы по Ораклу. И понял что 90% моего понимания - фуфло. С Делфой примерно та-же картина была (хоть и проще конечно). Простейшие вещи (с сегодняшней позиции) вызывали почти ступор.  И фоксовая "философия" может здорово мешала еще довольно долго.
С инетом и книгами конечно проще намного, но все равно - запаришься.
Поэтому я бы пинался от Оракла до последнего. Если еще и в филиалах его ставить из-за 3 таблиц - мрак.

>А сколько, прмерно, будет стоить написать такой прект как уменя?

А проект твой - фигня (на первый взгляд). Три таблицы - это вообще не проект, а так - программулька. Но без знания сервера - напаришься по самое не балуй.
Спецу, с учетом связи с филиалами (если это вообще не отдельная тема), работы на месяц-два. Помножь на зарплату - вот и себестоимость.

Ничего личного, только опыт.

ЗЫ: С МС не работал, не скажу.



Страницы: 1 2 3 вся ветка

Форум: "Базы";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.012 c
14-1134099061
AndreyM
2005-12-09 06:31
2006.01.01
Почему Microsoft отказалась от Паскаля?


14-1133938437
Bobsley
2005-12-07 09:53
2006.01.01
Мобилы


2-1134419119
гость2
2005-12-12 23:25
2006.01.01
thotkey -> string


1-1133769750
Харько
2005-12-05 11:02
2006.01.01
Вопрос по пакетам


14-1134322425
Yegorchic
2005-12-11 20:33
2006.01.01
Пифагорово дерево





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский