| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > MySQL vs Firebird vs PostgreSQL vs ... |
| Автор: LSD 17.10.2006, 16:12 |
| По многочисленным просьбам трудящихся Предлагаю здесь сравниванить бесплатные сервера СУБД. Как те что я перечислил в шапке, так и те что не перечислил. Главное требование, СУБД должна быть бесплатной, без лицензионных ограничений на использование (как-то Developer Edition) и уметь работать по сети. Так что в эту категорию попадают и Oracle XE, SQL Server Express (MSDE) и DB2 Express Edition. Файловые базы данных и embeded - под эту категорю не попадают. Равно как коммерческие "монстры": Oracle, SQL Server, DB2 и т.п. Сравнивать можно по любым параметрам. Удары в спину (типа: "а вот ... процедуры не поддерживает") разрешены Fight! |
| Автор: boevik 17.10.2006, 16:55 |
| Начну пожалуй. MSDE круче всех Плюсы: Поддерживается софтворным гигантом (не буду напоминать кем) Движок от настоящей СУБД MSSQL и поэтому поддерживает транзакции, stored procedures, user-defind functions Прозрачный переход с MSDE на MSSQL. Минусы: нет визуальных средст (вместо, можно использовать Visual Studio, Access, ...) ограничение размера одной базы данных 1-2ГБ. |
| Автор: LSD 17.10.2006, 17:01 |
| Oracle XE и DB2 Express Edition обладают теми же самыми преимуществами (ну разве что движек, не от настоящей СУБД MSSQL Кстати а SQL Server Express ограничения на процессоры и оперативную память есть? |
| Автор: LSD 17.10.2006, 17:32 | ||||
Как и у Oracle XE. А вот DB2 Express Edition покруче будет:
|
| Автор: pythonwin 17.10.2006, 17:54 |
| я за PostgreSQL PostgreSQL (произносится «Пост-Грес-Кью-Эл» или просто «постгрес») — объектно-реляционная система управления базами данных (СУБД). Является альтернативой как свободным СУБД (таким как MySQL и Firebird), так и коммерческим (Oracle Database, Microsoft SQL Server, IBM DB2, различные СУБД производства Sybase). PostgreSQL строго соответствует стандартам ANSI SQL-92 и SQL-99. На данный момент (версия 8.1), в PosgreSQL имеются следующие ограничения:
* поддержка БД практически неограниченного размера; * мощные и надёжные механизмы транзакций и репликации; * расширяемая система встроенных языков программирования: изначально подерживаются SQL, PL/pgSQL, PL/Perl, PL/Python и PL/Tcl, а также имеется поддержка загрузки C-совместимых модулей; * поддержка со стороны многих языков программирования: C/C++, Java, Perl, Python, Ruby, ECPG, Tcl, PHP и других. * наследование. * легко расширяемая сиcтема типов. PostgreSQL поддерживает много типов полей двумерной оконной графики (точки, прямые, прямоугольники и т. д.). Есть поддержка массивов данных (несколько экземпляров однотипных данных в одном поле одной записи). Также имеется поддержка регулярных выражений в стиле языка Perl. Главным слабым местом, происходящим из архитектуры самой СУБД, считается масштабируемость: в PostgreSQL имеются общие для всех соединений «узлы». Прочие возможности: * Соблюдение принципов ACID. * Соответствие стандартам ANSI SQL-92 и SQL-99. * Триггеры, ограничения, правила и хранимые процедуры. * Поддержка запросов с OUTER JOIN, UNION, UNION ALL and EXCEPT и подзапросов. * Последовательности. * Контроль целостности. * Репликация. * Поддержка Юникод. * Поддержка регулярных выражений в стиле Perl. * Встроенная поддержка SSL и Kerberos. * Блокировки точнее, чем на уровне записи. * Функциональные и частичные индексы. * Подгружаемые расширения, подерживающие SHA1, MD5, XML и другую функциональность (API открыт). * Средства для генерации совместимого с другими системами SQL-кода и импорта из других систем. Надёжность: Согласно http://www.postgresql.org/about/news.363 ПО на предмет ошибок, в исходном коде PostgreSQL было найдено 20 проблемных мест на 775 000 строк исходного кода (в среднем, одна ошибка на 39 000 строк кода). Для сравнения: MySQL — 97 проблем, одна ошибка на 4 000 строк кода; FreeBSD (целиком) — 306 проблем, одна ошибка на 4 000 строк кода; Linux (только ядро) — 950 ошибок, одна ошибка на 10 000 строк кода. http://ru.wikipedia.org/wiki/PostgreSQL Добавлено @ 18:08 + Кроссплатформенное программное обеспечение и http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_BSD |
| Автор: diam 18.10.2006, 12:01 |
Поддержу. PostgreSQL открытая СУБД, весьма функциональная. Из плюсов PostgreSQL:
|
| Автор: LSD 18.10.2006, 14:04 | ||
Программа HelloWorld - 0 ошибок, на 5 строк кода. Абсолютный чемпион Характеристики у PostgreSQL конечно внушительные, но это теоретические характеристики. Кто нибудь реально работал с базами размером терабайт? |
| Автор: DemoCode 18.10.2006, 14:29 |
Внушительно. А лицензия какая? В коммерческих приложениях за даром использовать можно? |
| Автор: Shiny 18.10.2006, 17:49 |
| Сама пользуюсь MS SQL (той, которая платная), но понимаю грядущую необходимость использования бесплатных платформ. Внимание, вопрос! В какой бесплатной СУБД есть кроме широкого функционала (хотя бы такого же как в MS SQL 2000) понятный (не консольный) интерфейс администрирования? Буду очень благодарна если подкрепите личное мнение соответствующими ссылками P.S. Ну уж очень не охота переходить на консоль, а придётся, да?... |
| Автор: DemoCode 18.10.2006, 18:19 | ||
Сейчас почти для всех бесплатных СУБД есть мало-мальски приемлемые ГУИшные интерфейсы для администрирования. Взять хоть тот же phpMyAdmin для MySQL. Для FireBird тоже есть, но вроде как платные. |
| Автор: Void 18.10.2006, 18:46 | ||
Вообще-то есть бесплатный SQL Server Management Studio Express. + нет ограничений на размер базы. |
| Автор: nerezus 18.10.2006, 19:09 | ||
Тем более в комплекте есть интересная тулза: http://www.pgadmin.org/screenshots/ |
| Автор: skyboy 18.10.2006, 19:17 |
да будет тебе! если речь идет о MySQL, вставлю свои 5 копеек: http://www.mysql.com/products/tools/administrator/ - утилита для контроля за сервером, управления логирования запросов, создания/редактирования баз/таблиц/триггеров/представлений http://www.mysql.com/products/tools/query-browser/ - тулза для создания и выполнения запросов http://www.mysql.com/products/tools/workbench/ - инструмент для проектирования баз данных с генерацией по схеме(кажется, ER-модель; точно не скажу - давно пользовался) Добавлено @ 19:19 это только "родные". есть куча сторонних. та же ситуация и у других СУБД |
| Автор: DemoCode 18.10.2006, 19:21 | ||
Тоже, кстати, платные. |
| Автор: skyboy 18.10.2006, 19:36 |
откуда взял? Добавлено @ 19:37 DemoCode, ещё скажи, что и за саму MySQL деньгу требуют... |
| Автор: DemoCode 18.10.2006, 19:41 |
Офигеть, действительно, Free GNU. А к нам в контору недавно чел приходил, проводил презентацию этих вещей. Купить предлагал недорого. Мы не купили, т.к. в больших объемах MySQL не юзаем. Вот блин, жулики, уже гнушным софтом торгуют. Добавлено @ 19:46 Упс... Как некрасиво получилось-то, позвонил я этому челу - разоблачать начал в несовсем мягкой форме, а он оказывается тулзы не для MySQL, а для IB/FireBird продавал, а я то напутал, блин. Вот что бывает, когда допоздна работаешь. |
| Автор: skyboy 18.10.2006, 19:52 |
| DemoCode, мы тут с перепугу всем офисом на сайт ломанулись! а там уже даже исходники выкладывают |
| Автор: pythonwin 19.10.2006, 07:52 | ||||||
я работал, но не с Тб, а с 5-6Гб (заполнил, для тестирования - держит нормально)
см.
в PostgreSQL - есть pgAdmin III + самому написать можно! |
| Автор: Kostt 19.10.2006, 10:22 |
| Для Interbase есть отличный тул по России бесплатно распространяется. Называется IBAdmin или что-то в этом роде... Добавлено @ 10:23 Пардон, IBExpert |
| Автор: diam 19.10.2006, 11:01 | ||
Не знаю, что требуется от этой базы, но лучше при таких объёмах использовать PostgreSQL как часть распределённой БД. Я несколько раз делал кластеры, беря за основу PostgreSQL и Python. Недостаток один: кластер создаётся под специфичную задачу. Из размеров БД, которые юзал реально на постгресе: ~20Г места на диске, в некоторых таблицах было по несколько миллионов записей. Работало всё нормально (правда, я с VACUUM долго заморачивался, были свои проблемы). |
| Автор: Akella 19.10.2006, 15:51 | ||
| http://www.dotnetfirebird.org/blog/2005/02/embedded-firebird-and-microsoft-sql.html меня это радует и гордость берёт за FB :-) Добавлено @ 15:57
pythonwin, а максимальный размер индекса... Добавлено @ 16:00 это прекрасно, что тот или иной сервер поддерживает огромные "понятия", только весьма мало какая база доходит до таких размеров. Мне кажеться, что если кто предполагает, что баз у него будет на 1000 таблиц и размеров на 500 гиг, то возьмёт что-либо типа Oracal или MS SQL Server, хотя и FireBird вполне справиться. |
| Автор: Akella 19.10.2006, 16:10 |
| По моему мнению у FireBird в версии SuperServer есть огромный недостаток для баз данных, работающих в режиме 24/7. Допусти прекомпилировали хранимую процедуру. Чтобы все клиентские приложения "увидели" новую версию хранимки - нужно закрыть все клиентские приложения (всем отключиться от базы). Если кто-то один не отключился, а второй уже опять подключился, то второй всё равно не увидит новую версию хранимки. Версия ClassicServer этого недостатка лишена. Будем надеяться что дальнейшие выпуски FB суперсервера будт лишены этого недостатка. |
| Автор: SergeBS 20.10.2006, 07:31 | ||
DemoCode,
Так там более не нужно. Лучше IB Expert ничего не найдешь. А для русскоязычной Винды - это бесплатно. Мои 5 копеек из другой темы про серверы и тулзы: Сразу - у меня чаще всего Delphi(клиент)+ADO(связь)+MS SQL(сервер). Это чтобы сильно не пинали. InterBase/FireBird: IB Expert -Interbase Administration Tool - must have! В одном флаконе - все инструменты вплоть до автоматизации создания генераторов. Для ex-USSR - бесплатно, авторы - русскоязычные. www.ibexpert.com Delphi - наиболее популярный набор - FIBPlus. Коммерческий. Автор - русскоязычный (С.Бузаджи, вроде одессит). Есть куча других. Самый полезный ресурс - www.ibase.ru. Там авторы Жар-птицы и прочего (русские), ссылки на всякие полезняшки, FAQи и т.п. MySQL: Пакет Джентльменский набор Web-разработчика Денвер-2 - - must have! В одном флаконе - все инструменты.© 2001-2004 Дмитрий Котеров. Домашняя страница: http://web.dklab.ru Контакты: http://forum.dklab.ru/denwer. Apache+PHP+Perl+MySQL имеет размер всего около 1.9Мб и при этом полностью функционален. Рулится из браузера. Пробовал MySQLGui - кое-где удобнее, но в целом - хуже. Delphi: DirectSQL(Ю.Шейно). Коммерческий. Есть куча другого. Ресурс: www.mysql.ru - легко запоминается . Ну www.sql.ru - все знают. http://www.linuxshare.ru/postgresql - ясно что. В этом я совсем 0. Насчет освоения: у MySQL по сравнению с MS SQL сам SQL - в разы скромнее по возможностям. НО! Очень удобная и понятная (для меня) русская документация. Если бы я начинал изучать SQL - читал бы следующей после Грабера. Поэтому освоить легко. Есть хитрость - несколько форматов хранения данных (с поддержкой транзакций и без), но за 1-2 дня разобраться - не проблема. |
| Автор: Akella 20.10.2006, 08:33 |
| SergeBS, а где плюсы и минусы? Добавлено @ 08:36 ещё один плюс FireBird`у - этот замечательный SQL сервер умеет работать с "Read Only" базами данных, так сказать с базами данных на CD-ROM. Т.Е. можно создавать приложения безо всяких установок программ и серверов. |
| Автор: pythonwin 20.10.2006, 09:04 | ||
это я сейчас посмотрю-поищу... а так сказать пока не могу...
PostgreSQL, тоже может работать с БД как с ReadOnly |
| Автор: nerezus 20.10.2006, 09:27 | ||
|
| Автор: pythonwin 20.10.2006, 09:35 | ||
а если бюджет ограничен? |
| Автор: Akella 20.10.2006, 13:48 | ||
|
| Автор: superVad 26.10.2006, 13:31 |
| FireBird - тут проверил - самая большая база почти 5 гиг и в основной таблице 27 милионов записей тянет и не на очень крутом серваке |
| Автор: pythonwin 26.10.2006, 13:35 | ||
http://forum.vingrad.ru/index.php?showtopic=116892&view=findpost&p=891820 |
| Автор: superVad 26.10.2006, 17:18 |
| ТО: pythonwin Не, ну я тему читал. Я так понял, что пошло обсуждение не того что в документации написано, а так сказать случаи из реальной жизни. Так-как действительно мало кто видел в работе базу размером даже в 1 терабайт. |
| Автор: Се ля ви 28.10.2006, 17:39 |
| Я был за PostgreSQL, пока не узнал о том, что Oracle XE можно использовать в коммерческих целях! Если бы и в J2EE, BEA WebLogic Platform бесплатную, чуть ограниченную альтернативу сделали - вообще бы здорово было, но там, насколько я знаю, всё несколько сложнее - по-этому приходится с JBoss`ом пока работать... Хотя у IBM альтернатива есть - Geromino, но я уже прикипел к BEA... |
| Автор: LSD 28.10.2006, 20:15 | ||
Мы были на выставке, и разговаривали с представителем IBM. Интересовало именно сравнение JBoss и WebSphere Community Edition, резюмируюя можно сказать что он ничем не лучше, а по количеству наворотов даже хуже. |
| Автор: superVad 30.10.2006, 10:17 |
| по мне максимальный размер базы у Oracle XE сильно ограничивает круг задач которые можно на нем решить |
| Автор: pythonwin 30.10.2006, 12:06 | ||
можно поподробней? |
| Автор: LSD 30.10.2006, 15:01 | ||
По мне 4 Гб это достаточно для бесплатного сервера начального уровня. |
| Автор: pythonwin 30.10.2006, 15:06 | ||
4Гб для большой задачи мало |
| Автор: LSD 30.10.2006, 15:07 |
Для большой задачи, есть большой Oracle |
| Автор: pythonwin 30.10.2006, 15:15 |
его тоже можно бесплатно применять для коммерческих целей? |
| Автор: LSD 30.10.2006, 15:30 |
Нет. Но на то она и большая задача, чтобы на нее выделялись большие деньги |
| Автор: pythonwin 30.10.2006, 15:32 | ||
а если задача большая а денег мало? |
| Автор: LSD 30.10.2006, 15:35 |
Выпить йаду |
| Автор: pythonwin 30.10.2006, 15:54 |
Нет!!! Тогда отказываемся от оракла и переходим на что-то подобное, но бесплатное и близкое по характеристикам. |
| Автор: Бонифаций 30.10.2006, 18:24 |
| дай догадаюсь - на DB2? |
| Автор: Romikgy 30.10.2006, 19:40 |
неа pythonwin, |
| Автор: Се ля ви 30.10.2006, 20:24 | ||
| Насчёт места и большой задачи - ну вот не будем ходить далеко за примерами - сколько на сегодняшний день весит база Vingrad`а? Могли бы мы теоретически перейти на Oracle XE? Добавлено @ 20:28
Я только не понял - кто из них ничем не лучше? |
| Автор: Void 30.10.2006, 20:36 | ||
http://forum.vingrad.ru/index.php?showtopic=96031. Впрочем, даже если это возможно прямо сейчас, то совершенно неразумно на перспективу. |
| Автор: LSD 31.10.2006, 00:45 |
У JBoss наворотов побольше, чем у WebSphere Community Edition, в остальном они равны. Единственное но, с WebSphere Community Edition легко можно перейти на "большую" WebSphere. |
| Автор: Akella 7.11.2006, 17:14 |
Что есть "большая задача"? Всё в мире относительно. |
| Автор: superVad 8.11.2006, 12:26 |
| размер базы не зависит от сложности задачи - база из одной таблицы вполне может занимать 10 гиг тут именно сужается круг задач, а вообще на оракле я думаю нету смысла делать чтото очень простое с одной таблицей, пусть и на 10 гиг |
| Автор: pythonwin 8.11.2006, 12:51 |
Akella, согласен! возможно написать программу, которая решает какую-то сложную задачу, но не использовать БД вообще. В этой теме мы говорим о больших задачах с активным использованием СУБД, иначе - это оффтопик. |
| Автор: neutrino 12.11.2006, 23:24 |
| Какая бесплатная СУБД наиболее похожа на ORACLE с т.з. администрации и архитектуры? Кроме ORACLE XE, конечно. |
| Автор: slav0nic 14.11.2006, 12:53 |
| sybase что-то не вижу=) а хрень быстрее оракла;) + с продуманной архитектурой и наверно лучшей реализацией репликации. для тех кто в танке: mssql написан на базе sybase старх версий |
| Автор: LSD 14.11.2006, 13:17 | ||
1. А у Sybase разве есть бесплатный сервер? 2. Если верить http://tpc.org/tpcc/results/tpcc_perf_results.asp то Sybase вообще полный аутсайдер (правда там мереяются не те версии СУБД, которые рассматриваются здесь) |
| Автор: Akella 14.11.2006, 13:35 |
| Ну как по вашему мнению, что из этого можно назвать большой задачей: 1 база на 800 таблиц, в каждой таблице по расчетам не предполагается больше 5000 записей. или 1 база на 5 таблиц (+6 мелких справочников не в счет) и в каждой из пяти таблиц по расчётам может быть по 2 миллиона записей. С одной стороны 5 таблиц администрировать легче и программисту приложение писать легче с пятью таблицами, нежели с 800-ми, но общий "вес" задачи с 800-ми таблицами вроде легче, хотя и администрировать сложнее. |
| Автор: slav0nic 17.11.2006, 12:39 |
| LSD, он платный, но есть девелоперская лицензия фришная(ограничение на озу, кеш и тп) он бесплатный =) а про аутсайдера - выбор 2004 года по-моему в линуксзайне буржуйском, и по скорости работы делает оракл хотя поддержка кривая (софт и тп) %) |
| Автор: pythonwin 17.11.2006, 12:53 | ||
а о пользователях подумал? А о том, как программа будет работать? Думаю, что лучше, когда не 5 или 800 криво построенных таблиц, а столько сколько нужно - 10 - так 10, а если для задачи нужно 1012 - пусть будет 1012. |
| Автор: LSD 17.11.2006, 15:38 | ||||
Тогда не считается. Здесь только сервера которые можно бесплатно использовать в том числе и в коммерческих целях.
Я видел тест, где MySQL обходил Oracle, только там такие условия теста были, что получился просто "сферический конь в вакуме". Тесты tpc.org хороши тем, что там эмулируется реальная нагрузка OLTP приложения. Единственное они обновляются не так часто, но по 8 миллионов $ на тест (и это только на железо, не считая всего остального), это весьма накладно даже для таких монстров как IBM и Oracle. P.S. Кстати откуда сведения что: ? |
| Автор: SergeBS 17.11.2006, 17:23 | ||||
neutrino,
InterBase->FireBird(Freeware). А если посмотреть на историю развития, то ясно и почему. LSD,
Посмотри например (с) MS SQL 6.5. Там и Microsoft и Sybase. MS SQL 7.0 по заявлению мелкомягких - сервер в котором уже нет кода от Sybase. До того - был. Заявление, что "написан на базе" все-таки несколько некорректно. Корректнее: вплоть до 6.5 в серверах MS SQL использовались коды от Sybase. Но и свое вносили. По крайней мере ошибки |
| Автор: LSD 17.11.2006, 17:32 | ||
Ясно. |
| Автор: Akella 25.1.2007, 12:40 | ||
и даже не начального |
| Автор: MrCherry 6.9.2007, 14:18 |
| и так стоит ли бросать MySQL и учить PostgreSQL? |
| Автор: Бонифаций 6.9.2007, 14:25 |
| на этот вопрос без контекста не ответить. Скорее всего правильно будет "учить postgresql и учить mysql" и выбирать в зависимости от условий |
| Автор: MrCherry 6.9.2007, 17:10 |
| а какие могут быть условия? где то читаю - "postgresql вдребезги рвёт mysql всегда", в где то читаю "mysql в большинстве случаев обгоняет postgresql по производительности". |
| Автор: ReactOS 18.9.2007, 18:41 |
| А разве можно сравнивать MySQL & PostgreSQL? К примеру, если юзать ООП, то надо юзать последнюю, а не первую. Поэтому зачем сравнивать эти БД, есл они рассчитаны под разные цели. Можно было бы вообще взять SQLite, хотя она лучше всего для справочников подходит и все. |
| Автор: LSD 18.9.2007, 21:07 | ||
Это еще почему? |
| Автор: MrCherry 21.9.2007, 22:40 |
| одногруппник отмочил "на с++ очень хорошо делать разметку базы данных"... (он полный ноль..) sql - и в африке sql, тока в разных местах - цвет разный.. |
| Автор: superVad 26.9.2007, 12:05 |
| мене синенький нарвится |
| Автор: AlexxxM 12.11.2007, 21:08 |
| Firebird - маленький размер дистрибутива, + есть embeded версия для виндов PostgreSQL - для бесплатного SQL-сервера столько наворотов |
| Автор: LSD 27.12.2007, 00:42 |
| Давеча пришлось озаботится репликацией данных в PostgreSQL, и что я вам могу таки сказать: с репликацией в PostgreSQL все очень кисло. В том же Oracle XE все довольно неплохо. Если быть точным неплохо судя по описанию, сам я не пробовал и не знаю насколько там сильно все урезано, но обновляемые представления - есть. А что в остальных СУБД? |
| Автор: visermort 27.11.2009, 12:07 |
| Насчёт размера базы данных (не углубляясь в остальные характеристики СУБД) - третий год применяю Firebird - разработка http://www.wisethoth.ru - размер базы 43 Гигабайта - всё работает, проблем нет. Версия Firebird 2.03. |
| Автор: nerezus 29.11.2009, 01:50 | ||
При этом проект был средним, так что для чего-то крупного это явно недостаточно. |
| Автор: Bulat 30.11.2009, 10:46 |
| Лично я могу сравнить только MySQL и PostgreSQL(недавно начал работать с ней)... С одной стороны конечно postgres даже как бы и наворочен, наследование, поддержка триггеров процедур и т.п. Но, блин, отсутствие аналога show create table из MySQL просто убивает. Лично я уже просто привык из консоли и поехали.... что, как и куда переделать или добавить... В постгре без оного я как без рук, и как-то от всех этих наворотов уже не так весело ( А гую юзаю лишь для отладки/оптимизации запроса, и то все равно люблю из консоли пустить разок для верности... |
| Автор: LSD 6.4.2011, 13:39 | ||
Не прошло и 4-х лет как в PostgreSQL появилась встроенная репликация |
| Автор: Akella 16.4.2012, 16:23 |
| Неплохая статья: http://www.loginovprojects.ru/index.php?page=whyfirebird |
| Автор: ivanfain 20.5.2012, 16:27 | ||
|
| Автор: Akella 21.6.2012, 12:33 |
| Я сейчас немного сталкиваюсь с мускулем. Мне FB нравится больше. Странно, что на хостингах более распространен мускуль нежели FB. |
| Автор: Akella 11.4.2014, 13:36 |
| Зато Firebird может позволить себе такую роскошь, как несколько транзакций на одно соединение! |
| Автор: LSD 14.4.2014, 12:41 | ||
А поподробней, как это работает? А то мне только упоминания что такая фича есть попадаются. |
| Автор: Ilya81 3.6.2014, 11:53 |
| Под Windows всегда предпочитал Sql Server (в последних версиях Express-редакции более, чем достаточно). Под Linux раньше чаще всего выбирал MySQL, в последнее время всё чаще SQLLite, особенно с той поры, как его официально поддерживает Xamarin. |
| Автор: Akella 1.10.2014, 10:22 | ||||
потерялася я мама сколько времени прошло давно мну не было тутачки В программе у меня есть одна компонента типа TConnection (TDataBase). Есть 2 транзакции, то же 2 компоненты. У DataSet есть возможность подключить 2 транзакции: для чтения и для записи. Очень удобно. Читающая (только для чтения) и пишущая (читает и/или пишет). На самом деле можно подключать больше транзакций. Когда я работаю с MySQL. Мне приходится использовать несколько разных TConnection (TDataBase). Можно возразить, типа, а нафига столько транзакций? Так удобнее. Больше возможностей. Нет желания описывать всё и сравнивать. |
| Автор: LSD 2.10.2014, 11:14 | ||
А вы еще спрашиваете, "Почему так не любят Delphi?". Спрашиваешь дельфиста про БД, а он тебе "у меня на форме компонента" facepalm.jpg По сабжу, не вижу никаких преимуществ. Читающая транзакция костыль нужный серверу, а не программисту, нормальные СУБД без нее обходятся. |
| Автор: Romikgy 2.10.2014, 14:14 | ||
не вижу взаимосвязи..... у С++ тоже есть минусы...и что не работают с БД! |
| Автор: LSD 2.10.2014, 14:51 |
Дельфи Головного Мозга: состояние когда человек категориями "кинуть компонент на формочку". К.О. |
| Автор: Romikgy 2.10.2014, 19:39 | ||
почти тоже можно сказать и про С++ и про Java ... можно просто "заюзать нужный класс в своем коде, зачем писать с нуля" .... кидание компонент на форму это гуивый вариант использования классов! PS разницы нет на каком языке писать, надо писать на том , на чем удобно! ИМХО! а хаять другие .... что признаваться, что в них ни в зуб ногой!... |
| Автор: Ilya81 3.10.2014, 09:09 | ||
В количестве транзакций не вижу ничего особенного, но не кажется ли логичнее помещать их преимущественно в хранимые процедуры? В коде вызывать транзакции вижу смысл только если должны отработать действия из двух и более модулей, смешивать схемы базы данных которых нежелательно. |
| Автор: LSD 3.10.2014, 09:38 | ||||
Пока что только Akella рассказывает про Firebird через призму "компонент на формочке". Ни от сишников ни явистов такого не замечено. Я всего лишь хотел узнать, как эти две транзакции работают: как между ними переключаться, видят ли они изменения друг друга, можно ли их откатывать/коммитить независимо. А вместо этого получил: Добавлено через 5 минут и 37 секунд
Это зависит от того где расположена бизнес логика приложения. |
| Автор: Ilya81 3.10.2014, 11:22 | ||||
А получается в чём-то так. Я б тоже, наверно, так б рассуждал, если б EF подключал транзакции, но он вместо этого map'ит таблицы, представления и хранимые процедуры - вот тут и получается, что транзакции оказываются в хранимых процедурах. На C++ с базами данных иметь дело не доводилось, а вот на Java как-то пробовал, но аналогично пользовался Hibernate, только тогда в нём не было возможности mapping'а хранимых процедур. Или более продвинутые в Java пишут иначе? |
| Автор: LSD 3.10.2014, 18:23 |
| Ilya81, я не понял, что ты хотел сказать. |
| Автор: Ilya81 6.10.2014, 13:32 |
То, что во второй цитате сказано во многом правильно. |