Официальный сайт студ.городка НГТУ
Программирование и БД » Выбор БД и программирование клиента БД 

#1  17.06.09 15:33

Выбор БД и программирование клиента БД

Цель проекта: создание единой базы данных с количеством записей в основной таблице порядка 50 тыс. Записи без блобов и всякой другой несуразицы.
Структура: общая база на головном сервере, конечным пользователям локальная база, клиент к этой базе.

Вопросы к знатокам.

Какую БД выбрать для головной базы, с учетом что основными операциями будут insert и select(выборка по одной таблице, возможно с join-ами)? Я про скоростные характеристики говорю в основном, ну и отказоустойчивость интересует. Есть опыт работы с MySQL(доволен).
Какую БД выбрать для клиентов(возможно даже embedded), если у них такие же операции основные? Но embedded потенциально может в дальнейшем не подойти, т.к. может потребоваться многопользовательский доступ, да и к отказоустойчивости доверия нет. Основное требование к базе - размер. Второстепенное - отсутствие лишних кликов по установке(аля дополнительно ODBC-драйвер, настройка поставщика данных и т.д.). Надо чтобы клиент к этой БД потом сам установился в наименьшее количество кликов и вопросов вместе с самой БД.
Какие проблемы могут вылезти при написании функции синхронизации(вернее, односторонняя синхронизация - скидывать данные в головную базу через N-ое время)?

И самое главное - программирование. Я имею очень маленький опыт работы с программированием под Win32. Правил/дополнял чужой код на Delphi 7. Но очень способный и готов изучить хоть assembler(шутко :)).
Какую IDE выбрать, сам не знаю. Делфи не рулит, C++ так или иначе может пригодиться в будущем(я хоть и админ, но нынче программить дороже будет :)). Поэтому нужно канеш Visual. Но я в вижуале посмотрел для C++ че и как. Работать с формами можно только при создании проекта Windows Forms. При первом непристальном изучении - это работает с .Net. Сам про дотнет аще пока толком ничего не знаю, поэтому есть подозрение что вариант не столь хороший - придется дополнительно еще и дистриб дотнета тянуть. А размер клиента, еще раз повторюсь, критичен.
Вот такие вопросы, господа. :)

P.S. Все восклицания типа зачем мне это надо и вообще лучше оставить эту работу настоящим программистам отвергаются на корню - мне самому за работу заплатят и за поддержку дальнейшую еще и денег к ЗП накинут. И я уже упомянул, что программить сейчас прибыльнее. Может профиль работы поменяю когда-нить. :)

Offline

#2  18.06.09 00:34

Re: Выбор БД и программирование клиента БД

клиент: C# + MSSQL (embedded вариант делается не так сложно, как ты это описал)
база на сервере: выбирать надо с учетом твоих планов на будущее, иначе столкнешься с тем, что надо будет переписывать заново с новой технологией... а тут многое зависит от среды обитания и финансов... любая, на твой выбор...

Offline

#3  18.06.09 01:21

Re: Выбор БД и программирование клиента БД

Jaguar, MSSQL денег же наверно просит, лицензионный. Мне на опенсурсе бы базу. :)
А почему именно шарп, в чем преимущество?

Offline

#4  18.06.09 05:01

Re: Выбор БД и программирование клиента БД

GreenDay написал(а):

А почему именно шарп, в чем преимущество?

имхо, он чуточку проще и дружелюбнее чем с/с++, ну и удобнее для всяких шняг в три кнопки.)

Offline

#5  18.06.09 09:53

Re: Выбор БД и программирование клиента БД

GreenDay написал(а):

Мне на опенсурсе бы базу

SQLite?

Offline

#6  18.06.09 10:10

Re: Выбор БД и программирование клиента БД

Ну опять таки C# - это .Net Framework. Расскажите тогда какие зависимости будет тянуть прога на голую систему с WinXP? Размер критичен, нужно в итоге в 10-15Мб уложиться клиент+БД.

Offline

#7  18.06.09 10:57

Re: Выбор БД и программирование клиента БД

используй java + mySql (или любую другую свободную)

из + 1) быстрая разработка 2) а вдруг компанию переведут на linux, то проблем с твоей прогой не будет)

Offline

#8  18.06.09 11:08

Re: Выбор БД и программирование клиента БД

LORiO, спасибо, но java сразу нет. MySQL? А ты знаешь сколько сервер весит? Вооот. Не подойдет. Для головной базы - 100% буду юзать MySQL. Клиенты. У них максимум в основной таблице по 5к записей будет, так что монстров типа MySQL, Oracle не стоит советовать. ;)

Offline

#9  18.06.09 11:48

Re: Выбор БД и программирование клиента БД

Да знаю mysql5 = 8мегабайт)

гг сравнил) монстров типа MySQL, Oracle   да мускул рядом с ораклом не стоял рядом да же))

в java6 есть встроенная база данных (когда то был проект apache derby)

а почему java сразу нет?)

Offline

#10  18.06.09 13:16

Re: Выбор БД и программирование клиента БД

LORiO, не, не, не. Я чет как-то предвзято к прослойкам типа джавы отношусь. Нативный код шустрее. Но, для ускорения процесса написания могу и с дотнетом поработать.. А вот MSSQL Compact так то вроде на первый взгляд подходит. Да и интегрироваться с Visual должен шустрее.

Но, с другой стороны. Если у меня в головной будет MySQL, то имеет смысл использовать одинаковые базы. Дабы не проделывать лишнюю работу.

Offline

#11  18.06.09 14:04

Re: Выбор БД и программирование клиента БД

у mysql дибильная репликация... тебе придется свои алгоритмы писать для синхронизации данных... я бы остановил свой выбор на MSSQL... Express и Compact версия бесплатная...

Код::

Microsoft SQL Server Compact is a free SQL Server embedded database ideal for building standalone and occasionally connected applications for mobile devices, desktops, and Web clients.

есть у нее конечно ограничения, но тебе они не страшны под твои задачи... фрэймворк в винду встроен сейчас уже минимум 1.1 версии (это при сп2, а при сп3 дотнет вроде 2.0 впаян)... а если человеки делают обновления, то и 3.5 уже давно у всех стоит(рантайм версия че-то около 30 метров весит)... в любом случае - поддержка фрэймворка не твоя забота....

Исправлено Jaguar (18.06.09 14:15)

Offline

#12  18.06.09 14:15

Re: Выбор БД и программирование клиента БД

Jaguar написал(а):

я бы остановил свой выбор на MSSQL... Express версия бесплатная

На головной машине FreeBSD, так что делай выводы. :) Можно канеш коннект и пробрасывать на виндовую машину в случае чего.

Jaguar написал(а):

в любом случае - поддержка фрэймворка - не твоя забота

Ну.. Моему начальству это не докажешь, когда у клиентов работать не будет. Клиенты разбросаны по районам области. Компьютерная грамотность невысокая. Техподдержки своей возможно и нет. Я техподдержку предоставлять не собираюсь. Надо чтобы работало на голой системе с WinXP SP2. Думаю на СП2 о фреймворке и речи не было. Так что Макс - это все сложнее..

Трудностей чет дофига. Хоть на делфях не начинай кодить. :)

Offline

#13  18.06.09 16:40

Re: Выбор БД и программирование клиента БД

GreenDay написал(а):

Надо чтобы работало на голой системе с WinXP SP2. Думаю на СП2 о фреймворке и речи не было.

фреймворк можно тянуть из инета во время установки, можно подсовывать вместе с инсталлером, если у юзеров нет инета (но он весит чуть больше 20 мб). по-крайней мере я гружу с инета через инносетап обычно.
по клиентской базе смотрел sqlite? на хабре были статьи с обзор производительности. она себя очень хорошо показала, места много не жрет и никаких проблем с установкой - подсунуть дллку с приложением и все.

Offline

#14  18.06.09 16:54

Re: Выбор БД и программирование клиента БД

Muxa, 20 Мб из какой нить Усть-Тарки с возможным инетом типа диал-ап. Смеешься? У меня у родителей дома до сих пор диал ап - это пистетц. Ну да, скачается 20 Мб за полчаса. Чет как-то не позитивно..

sqlite я тоже рассматривал как вариант. Но думаю для клиентов будет все же идеальным MS SQL Compact - никаких дополнительных коннектров не надо. Удобнее прогать все же.

А дальше самому писать клиент синхронизации с головным сервом.

Offline

#15  18.06.09 18:58

Re: Выбор БД и программирование клиента БД

наблюдаю пример неправильного мышления! :)
нужно написать хорошую, годную, непадучую программу; собрать установочный пакет, в котором будет всё необходимое; записать его на диск и выслать любым доступным способом в нужное место

это я все к тому, что ограничение по объему - оно надуманное.

если хочется мускуль, то почему нет?

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

а отказоустойчивость обеспечивается резервным копированием, да

Offline

#16  18.06.09 19:16

Re: Выбор БД и программирование клиента БД

Matrim, а ты embedded mysql не щупал руками?
Отзывы нужны как оно. :) Про полноценный то я знаю, а вот встроенный не щупал.

Про объем. Ну, думаю все же выкрутимся как нить. 22 метров фреймворка + embedded база + прога. В итоге все же не так много..

Терь короче интересует вопрос связи MySQL и C#.
А так же хорошую книгу по шарпу.

Offline

#17  18.06.09 21:07

Re: Выбор БД и программирование клиента БД

GreenDay написал(а):

Matrim, а ты embedded mysql не щупал руками?

нет

Offline

#18  18.06.09 23:28

Re: Выбор БД и программирование клиента БД

GreenDay написал(а):

ерь короче интересует вопрос связи MySQL и C#.

решается гуглом за 5 минут

GreenDay написал(а):

А так же хорошую книгу по шарпу.

троелсена для начала

Offline

#19  18.06.09 23:48

Re: Выбор БД и программирование клиента БД

С такими критериями вообще непонятны проблемы с БД. Одно дело если эти 50 тыщ записей будут сто раз за минуту меняться, а другое если раз в месяц выгрузку делают.

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

Кстати, а размер "нормально" - это сколько?

Выбираешь м\у С++ и .NET не по тем критериям, имхо. Писать, тестировать, сопровождать - тебе, так что выбирай тот язык к которому лежит душа. Если до этого десять лет фиксил Дельфи, чего думать - пиши на нем. Пофик что все кричат уродина, зато этот инструмент ты знаешь.

И кстати, IDE - это не Дельфи, С++ или .NET. Рассуждения в подобном русле пугают, и становится страшно за твой проект :)

Исправлено Malkolm (18.06.09 23:48)

Offline

#20  19.06.09 00:07

Re: Выбор БД и программирование клиента БД

Malkolm написал(а):

И кстати, IDE - это не Дельфи

дельфи - это как раз больше ИДЕ... а язык там все же Паскаль :)

Offline

#21  19.06.09 00:09

Re: Выбор БД и программирование клиента БД

Про IDE начал рассуждения просто из помыслов, что буду писать на C++. И тут на выбор две IDE - RAD Studio или Visual Studio.
Так понятней? :) В контексте не сочеталось немного. :)

Malkolm написал(а):

Пофик что все кричат уродина, зато этот инструмент ты знаешь.

Я в первом посте написал почему стремлюсь писать на C++ или том же шарпе. Delphi нигде не востребован. Для изучения азов программирования - идеальный вариант, как и паскаль для консольного(я имею ввиду не игровую консоль, типа Xbox :)) программирования. Для серьезных вещей - на любителя.

Offline

#22  19.06.09 08:03

Re: Выбор БД и программирование клиента БД

Тогда выбирай шарп, старт будет быстрее и эффективнее.

Offline

#23  20.06.09 00:39

Re: Выбор БД и программирование клиента БД

C# +mssql compact + .net 3.5 + linq2sql (linq2entities) = profit

Offline

#24  20.06.09 15:52

rzk
Профиль

Re: Выбор БД и программирование клиента БД

XuMiX написал(а):

.net 3.5

+ sp1 - 242 мегабайта - не перебор ли?

Offline

#25  20.06.09 17:09

Re: Выбор БД и программирование клиента БД

rzk, это полный комплект... рантайм весит 30 метров

Offline

#26  20.06.09 18:04

Re: Выбор БД и программирование клиента БД

Jaguar, хм. Вот это уже интересно. Про рантайм поподробней. Чет я в даунлоадсах у мелкомягких рантайм не нашел. :)

Offline

#27  22.06.09 21:35

Re: Выбор БД и программирование клиента БД

GreenDay, google: .net 3.5 sp1 client profile

Offline

#28  09.07.09 15:53

Re: Выбор БД и программирование клиента БД

adobe air чо

Offline

#29  13.07.09 11:12

Re: Выбор БД и программирование клиента БД

GreenDay, а firebird не поканает? Нормальная такая штука, у нас стоит и никто не жалуется. Бесплатная. Клиент у нас тока на Delphi написан, но щас его вроде как и на сишку переписывают.

Offline

#30  13.07.09 12:44

Re: Выбор БД и программирование клиента БД

+VoFFka+, ну у меня на другой работе стоит интербэйз(от него отпочковался файрбёрд) и клиент на делфи. Но тут все же MS, а значит с продуктами MS работать проще. Поэтому все же остановился на MS SQL Compact 3.5 SP1.

Offline

#31  13.07.09 13:12

Re: Выбор БД и программирование клиента БД

GreenDay, Ааа... хм... ну у нас тоже есть где-то MS SQL базы на серваке, для взаимодействия с FB с которыми непосредственно клиенты работают exchange написан, он постоянно меняется данными.

Offline

#32  25.07.09 20:38

Re: Выбор БД и программирование клиента БД

sqlite+любой скриптовый язык. Можно тот же шарп, аи ПХП сойдет

Offline

Программирование и БД » Выбор БД и программирование клиента БД 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.040 сек.
Выполнено 14 запросов.