![]() |
|
Модераторы: LSD |
![]()
|
|
| Andryxa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Доброе время суток!
Пожалуйста подскажите какие базы данных можно использовать без установки (embedded) на платформе WIN32. (ms access не подходит) Задача: Весь функционнал реализован на клиенте, а сама БД должна быть расшарена в локальной сети, при этом доступ осуществляется без установленной СУБД. Заранее благодарен. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Т.е. ты хочешь расшарить файл(ы) базы данных, и чтобы все клиенты работали с ним по сети, а сервер СУБД ставить не хочешь?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
Andryxa, поставь на сервере СУБД и подключайся к серверу (Базе) из клиента
немного странно - клиент поставить не сложно, а вот СУБД на сервере поставить не хочешь, хотя я могу и ошибаться == сформулируй задачу - зачем это нужно? |
|||
|
||||
| Andryxa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Объясняю подробнее. Наше По использует специальные файлы проекта - составной частью которых должна являться БД. Заказчик настаивает на том, чтобы не было жестко определенного сервера (цитирую: "сегодня проекты хранятся на машине Васи, а завтра могут храниться на машине Пети"). Необходимо определиться с выбором БД, которая удовлетворяет следующим требованиям:
1. Сервер (в понимании заказчика) только хранит файлы с базами данных 2. Клиентские части могут получить доступ к этим файлам по локальной сети (тупо расшарены) 3. на сервере, где эти базы хранятся не нужно и нельзя ставить сервер СУБД, а вот вместе с клиентом мы можем все что угодно поставить. Еще раз повторюсь что это обычная файл-серверная СУБД, можно использовать MSAccess (но оч. нехочется). Пробовали Embedded Firebierd - все ок, но только если пути к файлу локальный, в противном случае БОЛТЫ. Если есть информация по субд, которые могут так работать - поделитесь.... |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Конкурентный доступ к БД нужен?
Добавлено через 17 секунд И кстати, на чем пишете? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
| Andryxa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Проект пишется на Delphi 7. Конкурентный доступ к БД нужен.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Следовательно, требуется файловая БД, которая поддерживает на файловом уровне разделение доступа. А это (насколько я помню) только MS Access. Или рожайте собственный файловый формат с отслеживанием локов, транзакций и совместного доступа. Или как минимум такого рода надстройку над DB или там DBF... Хотелось бы услышать также более вменяемое обоснование отказа от использования формата БД MS Access. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
FoxPro по моему тоже поддерживает конкурентный доступ к файлу.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Да, у Фокса есть какие-то средства... но попытка путем чтения MSDN понять КАК это выглядит в реальности через ODBC-драйвер для не-Фоксового приложения для меня лично закончилась неудачей...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Andryxa,
Для начала читай Локальные, сетевые, серверные базы данных. как бороться с базами данных Конкретнее: если нужен многопользовательский доступ, то без сервера ничего не выйдет.А заказчику можешь посоветовать с его потребностями на Луну на самолете полететь. Поскольку чудес на свете не бывает. Либо файлопомойка на чем угодно, и в любой момент может грохнуться любая часть проекта (и весь проект), либо сервер, и никаких "сегодня у Васи, завтра у Пети". Akina,
Бесполезно. Если доказано, что надежная работа без сервера невозможна, то пытаться опровергать - глупо. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Именно. Если... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SergeBS |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Access - "наколенная" СУБД. При больших объемах и/или многопользовательской работе он просто не работает. Как и Фокс. Добавлено через 3 минуты и 21 секунду Akina,
Не понял. Считаешь что не доказано? Ну тогда изобретай вечный двигатель. За компанию. |
||||
|
|||||
| Andryxa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Ну что я могу сказать, один раз уже с msAccess уже работали - ничего хорошего вспомнить не могу.... Только тогда это была чисто локальная база данных. Когда таблица превысила размер 50000 записей, все сдохло.... Что можете сказать по поводу innodb в контексте данной задачи? Может сталкивались с экзотическими СУБД которые могут так работать.
PS: По поводу комментариев о изобретении велосипедов и отправки заказчиков на Луну - это не конструктивно и сам знаю |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Absolute Database вроде декларировал такую возможность... Не проверял...
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Я не понимаю, за что копья ломаем...
Или база именно файл-серверная - тогда существует серверная часть. Или файловая БД. Однако серверную БД ставить нельзя по исходным условиям. Остается файловая БД. Дальше обсуждать нечего, кроме выбора формата БД.
Работает, работает... У меня вон в сети такая база - полтора гига данных, полторы сотни таблиц, до 2 миллионов записей на таблицу, более десятка одновременно работающих. Ни одного падения. Потому что не используется ничего, кроме механизма транзакций. Ни встроенная система поддержания целостности (кроме индексов) - схемы данных нет, ни обработка на сервере (хранимых процедур и триггеров нет), максимально возможное использование вьювов, пессимистические локи, раздельные коннккты для получения и изменения данных... Где доказательства, что виновата именно БД? может, кривые руки программистов... Да, считаю. Или предъявляй доказательства, или не делай голословных утверждений. PS. Для доказательств несостоятельности Аксесса как многопользовательской БД рекомендую создать соотв. тред в "Религиозных войнах". -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
1. Предупредите заказчика сразу: файловая БД (Access или FoxPro, не важно) - будет ненадежной, возможны потеря данных, проблема с большими объемами и т.д. Плюс "слить" изменения автономно сделанные сотрудниками - невозможно. 2. Предложите ему вариант, когда есть центральный сервер который хранит все данные и с которым работают клиенты. И плюс у каждого клиента можно содать локальную копию центральной БД, которуб он может взять домой, в командировку и т.п. Потом (за допольнительные деньги Для такого вариата очень хорошо подойдут embeded версии Firebird, MySQL, PostgreSQL. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
поддерживаю! насчет репликации - в некоторых СУБД есть встроенная - в PostgreSQL такая есть, насчет MySQL не знаю |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
MS Access имеет встроенные средства репликации с переносимой мастер-репликой. Есть сторонние продукты, организующие дерево или даже кольцо реплик. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Andryxa,
Тогда давай подробно: 1. Нужна многопользовательская работа с БД. 2. Сервер ставить нельзя. Вывод: задача В ПРИНЦИПЕ нерешаема. Поскольку без сервера на любых суперпупер чудесных движках в один "прекрасный" момент у тебя данные пропадут. Возможно, что не все. Короче статью перечитай. Там правда, только правда и ничего кроме печальной правды. Можешь статью заказчику распечатать и дать почитать. |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Давай так. Я телепатирую : ) - у тебя на какой-то машине крутится движок Access, и уже к нему все обращаются. Соответственно можно иметь кучу mdb-шек, у каждого файла - свой персональный сервер (типа например кто первый базу открыл). Все будет вполне даже работать. А если еще все забабахать на файл-сервере, так оно будет и надежно работать. Хуже того - похожее я видел сделанное на NetWare + FoxPro 2.6/DOS. Только вот мне почему-то кажется, что иметь гимор "ручками" делать то, что делают автоматом нормальные сервера - это иметь гимор
А что на Луне атмосферы нет, тебе тоже доказывать надо? Изволь. Без сервера нет транзакций. Без транзакций нет надежной базы данных. Это тоже доказывать? |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Вдогонку:
У Access есть транзакции? Очень интересно. Но почему-то не верится. Проведи эксперимент: запусти какое-нибудь достаточно длительное (секунды 3 хватит) изменение данных. Во время этого изменения нажми на Reset (поэтому 3 сек. и нужны - чтобы успел нажать). Посмотри на результат. При наличии транзакций - после этого никаких изменений данных быть не должно. А будут. Если мне склероз не изменяет, у Access журналирования операций нет. Он не версионник. Следовательно - у него НЕТ транзакций. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Да, не вышел из тебя телепат. Нет такой вещи как "движок Access". MDB-шка может вообще валяться на любой файловой системе (ДОС, Линь, хоть мэйнфрейм) - была бы видна. У меня, кстати, это Novell Netware 5.1 SP 8. Впрочем, недавно на недельку пришлось переместить базу на машину под SLES, к которой народ подрубается по NFS - и ничего... переписали DSN, никто ничего и не заметил. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
У Аксесса есть транзакции уровня приложения и нет транзакций уровня БД. Это верно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SergeBS |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Есть акой движок. Microsoft Jet. Добавлено через 2 минуты и 16 секунд
|
||||
|
|||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Вполне возможно - структура БД по-большому счету пустяковая. Я работаю вместе с Andryxa, могу описать некую абстракцию работы нашего продукта. Есть список.... объектов (например деталей), пользователи работают со списком, а именно размещают эти детали на чертежах. У каждого пользователя есть свой чертеж, а вот список деталей для каждого проекта уникален и един. Рассмотрим пример есть у нас куча болтов, гаек и шестеренок их ровно столько, сколько нужно чтобы собрать например будильник. Пользователь системы (да - да тот самый Вася что упоминался выше) говорит со своим сослуживцем и делят проект: Вася строит чертеж часового механизма, а Петя чертеж звонка будильника. Они одновременно открывают проект и каждый работает со своим чертежом, вася берет из списка деталей например шестеренку Ш1, а Петя после этого эту самую Ш1 уже в свой механизм звонка не сможет перенести до тех пор пока он присутствует на каком либо чертеже. Кроме того пользователи могут объединять детали в группы (для своего удобства) и редактировать эти группы + логи изменений чертежа наверное тоже в БД хранить (раз уж БД будет). КОРОЧЕ ОБЫЧНЫЙ МНОГОПОЛЬЗОВАТЕЛЬСКИЙ РЕЖИМ. ЗЫЖ предварительная информация: SQLite пока работает - но замеры производительности пока еще не делали....... |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Until recently, Microsoft offered two means of database management: Microsoft Jet (the Microsoft® Access database engine that is shipped with both Access and Microsoft Visual Studio®) and Microsoft SQL Server™.
|
|||
|
||||
| qw84 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Если вы про это, то СУБД назвать это можно с большой натяжкой.... Adsolute Database хотя
это гут. December, спасибо... |
||||
|
|||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
2all
Насчет MS Jet - пардон, не успел. qw84 вклинился. qw84 У меня знакомый решает аналогичную задачу - земельные участки. Базу держат на Oracle. Если интересно - могу поспрошать конкретнее. Но в конце недели. |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Поспрашивай, конечно, огромадное спасибо заранее. Только вряд ли Oracle может так работать, сколько сервер весит можно не говорить.... а сколько стоит |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Давайте не путать, дужище... это то же самое как ODBC-драйвер от MS SQL, Postgre или любой другой серверной БД назвать движком... MS Jet находится и работает на стороне клиентского приложения, а не на стороне хранения данных. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SergeBS |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
Дык областное управление. И знакомый КОНКРЕТНО не понимает тоже - зачем Oracle. Спросил - ответили типа: "потому что это круто". Akina,
А что такое тогда Microsoft Jet 4.0 OLE DB provider, по-твоему? И как тогда перевести это? MSDN2000:
Добавлено через 4 минуты и 10 секунд Я тоже по первости думал, что MS Jet - очередной модный ярлык на интерфейс. Ан нетушки. Добавлено через 11 минут и 46 секунд Akina, Да, оттуда же (вдруг полезно будет):
Пассаж насчет любого места, где есть компьютерные книжки - умиляет. От скромности не помрут. |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
О господи!!! Jet, OLE DB, ODBC, ADO/DAO и прочие слои - все это на клиенте... ну почитай ты структурную моделю...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Ну упорный. Я точно так же скажу: почитай MSDN. Конкретно - архитектура Access. Могу ткнуть пальцем. А насчет структурной модели - ссылочку пожалуйста. Чтобы там было написано, что Jet - именно клиентский интерфейс. Я почему-то MSDN верю. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Ткни. Обязательно ткни. Но непременно так, чтобы из того места куда ты ткнул, однозначно проистекало, что, когда приложение находится на компе А, а MDB-шка на компе Б, то на компе Б кроме самой MDB и сопутствующего ему файла блокировок LCK обязан быть установлен и запущен на исполнение какой-либо файл (сервис, приложение, прочее). Кроме, само собой, протокольного стека. Ведь именно с этого все началось - со спора о необходимости чего-то, кроме самой БД, на стороне "сервера"... помнится. Да, Microsoft Jet есть один из Workspaces. Если тебе требуется абсолютная терминологическая точность. Он предоставляет клиентскому приложению интерфейс к провайдеру данных. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Господа Akina и SergeBS!!!!! Мы (Andryxa, QW84) все еще не можем выбрать СУБД, а вы споры завели по поводу того как обзывать Jet, да хоть технологией оранжевого китайского панка ее назовите - лучше и хуже она не станет. Что вы посоветуете по существу проблемы (пару постов выше я описал предметную область поподробнее). Спасибо...
|
|||
|
||||
| SergeBS |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
Akina,
Вот же упорный. Ну почти как я
Непосредственно ПИШЕТ и ЧИТАЕТ данные. А интерфейс - OLE DB или ODBC. Для мазохистов - Jet API.
Нет. Началось с того, что кое-кто перепутал движок БД с интерфейсом. Именно в том и хохма, что если втупую запустить Access на какой-то одной машине, подключиться им к mdb-шке, а всем клиентам - обращаться именно к этому Access-у, то это самый быстрый и простой способ соорудить из MS Jet сервер. От ресета на этой машине не спасет, но вот всякие взаимные блокировки между клиентами и прочее из этой области будут не нужны. Хотя все равно, как геморрой не назови, лучше он не станет Добавлено через 12 минут и 23 секунды qw84, Пардон. Увлеклись. Все. С jet завязываю. А у вас по моему разумению с изложенной технологией (связка человек-человек, а потом уже дележка) вообще достаточно чего-то типа LotusNotes. Там без какого-то программирования можно назначать права на чтение/модификацию/пересылку документа. Насчет надежности хранения я не в курсе. Т.е. я попробовал бы посмотреть на связку LotusNotes + файл-сервер. SQL вам нафиг не нужен. А права назначать Лотуса вполне хватит. В пятницу приятеля поспрошаю, как бы он сделал. Если не забуду. В понедельник тогда отпишу его мнение. |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
А как при такой организации брать работу на дом? И вообще зачем нужно копировать базу с места на место? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
Вдогонку вопросик: каким софтом чертежи ваяете? Мне когда-то давно кто-то в уши напел, что ProEngineer включает в себя поддержку коллективной работы. Тогда это тоже вариант. Но за эти данные ответственности не несу. Поскольку знаю только что ProEngineer и AutoCAD - CAD с поддержкой черчения |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Информация для размышления:
Cделали а access тестовый пример нашей архитектуры - рандомом забивали в таблицу 500000 записей (это верхний предел по ТЗ) он справился более чем за час sqlite - при тех же условиях около получаса, при этом проблем с конкуретным доступом не было Кстати PostGreeSQL отпал - не хочет ставиться на FAT32 (а по ТЗ мы обязаны и на Win98 тоже обеспечить работу :( ) Кто - нибудь может это проккоментировать??? Добавлено через 1 минуту и 53 секунды
дак мы свой CАD написали, правда простой..... Заказчику это и нужно: простой CAD для простых задач + теперь еще многопользовательский режим |
|||
|
||||
| SergeBS |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
SQL.RU - там Пошаговая инструкция установки PostgreSQL 8.4.1 на WinXP c FAT32. Кому нужно. Для 98 - будет не служба, а приложение запускаться и вся разница.
Т.е. в реляционной БД храните точки. А в сторону постреляционных не смотрели? Например Cache - самая модная из немодных
Ну герои... Прям братья Черепановы |
||||||
|
|||||||
| pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
можно ещё посмотреть какую-то из Объектно-ориентированные БД - ZODB (вроде BSD) или Lotus (правда дороговато) Добавлено через 1 минуту и 1 секунду
http://www.sql.ru/forum/actualthread.aspx?...57&hl=fat32 |
||||
|
|||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
В том то и загвоздка, что БД по-большому счету нужна для того чтобы контролировать занятость/незанятость детали при совместном рисовании чертежей. Естественно, когда пользователь взял домой проект - то скорее всего он будет один работать с проектом (кстати в старой версии системы и был однопользовательский режим...). Потом, после того как пользователь наработался дома вдоволь - он приносит проект и тупо перезаписывает... Все. На мой резонный вопрос по-поводу того что будет если один чертеж возьмутся править по-домам два и > человека, заказчик спокойно ответил что это сугубо их проблема, и пусть договариваются или через буфер обмена копируют куски чертежа... Короче репликацию (Слава БОГУ!) нам делать не нужно. |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Не совсем... Хранятся (ТОЛЬКО!) имена деталей (на самом деле идентификаторы и т.п. но для простоты можете считать что просто имена), детали эти стандартные и их свойства и изображения в файле библиотеки. Это устроено еще со старых версий системы и полностью отлажено .... поэтому код менять не оч. хочется. А вот Cache Спасибо, да мы такие |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
Именно это в Лотусе делается легко - контроль доступа. А можно и с этим не морочиться. Проблем транзакций у вас нет - поскольку любой объект захватывается надолго, можно обойтись просто файлом блокировок, лежащим там же, где и базы. Взгромоздить на файл-сервер (для надежного хранения) и все. В общем - парадоксовая схема. И заточка получается - под формат хранения данных 1 детали (1 чертежа). А всякие SQL-сервера и базы - лишнее утяжеление. Как средство избежать конфликтов (которых у вас и так скорее всего не будет) можно наваять некий простенький сервис, ведущий базу блокировок, запускать его по месту хранения данных, а приложениям для захвата/отпускания обращаться уже к нему. Не удивлюсь, если в Novell Netware такой функционал уже есть. Т.е. файл-сервер по умолчанию не дает доступа к файлам. Для получения - обращение к нему, получаешь доступ, а он запоминает, что файл уже занят. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Тогда может ну его нафиг, этот конкурентный доступ. Если хотите использовать БД то делаете так: пользователь открывает БД на серваке на запись, и записывает, что детали A, B, C он взял себе после чего закрывает БД. Если пользователь хочет взять некие детали, а база сейчас заблокированна другим пользователем, то пишем ему чтобы подождал. Добавлено через 2 минуты и 26 секунд Все равно вам даже при использовании нормального сервера СУБД без блокировок не обойтись. Разница в том, что там можно будет блокировать отдельные записи, а в этой схеме всю базу. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Вообще всё это выглядит скорее как задача CVS/team development...
|
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
ну тогда можно и Zope использовать |
|||
|
||||
| SergeBS |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
December,
Совершенно точно. Посетить sourceforge - посмотреть в сторону CVS и т.п. было бы полезно. Другой вопрос что задача заказчиком спущена до уровня, когда контроль версий делается "ручками":
|
||||
|
|||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Так дело в том, что это только в том случае, если они взяли по-домам документы проекта, а так (когда они в пределах локальной сети работают) нужно блокировать поэлементно (читай- по записям).... Дело в том что указанные мной файлы библиотеки бинарные.... И когда писали предыдущую систему SVN например не смог слить нормально два файла библиотеки, даже если изменения совсем незначительные. Тогда два варианта - либо править формат библиотеки (что не есть гут - ибо тогда не будет поддержки библиотек созданных в предыдущих версиях системы), либо "трепанировать" SVN/CVS под свои нужды - что является более сложной задачей, нежели разработать механизм блокировок или выбрать СУБД Спасибо.... |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
Минуточку... Я дома юзаю что-то из контроля версий (ну не могу вспомнить названия, с 3-мя приходится иметь дело - 1 дома, 2 - на работе), так там все примитивно до безобразия: на тип файла просто наплевать. Засекается что он изменил дату, размер ... И соответственно при обновлении проекта - новая версия файла. Я так свои Дельфи проекты журналирую. И отчетливо помню, что этой системе начхать на то, что внутри файла. Может вспомню, что это - нацарапаю. Да. еще:
Не понял. Слить в смысле объединить? Так не обязан. Кстати на работе как раз SVN тискаю - пока не в восторге... Но толком не разобрался еще... Текучка.. О, озадачили - домой за софтинкой почапаю через час... Visio, блин, пожарники план желают... |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Я тоже сначала плевался, а потом понял, что надо просто прочитать весь svn book - и всё станет понятно Вобще svn не занимается мержингом для бинарников - он просто всегда пишет новую версию файла целиком, а не дельтой. |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
December,
Мне неизвестны системы, позволяющие объединение файлов. Почему и не понял что имеется в виду под "слить нормально два файла библиотеки". Оффтоп: offshore job for Delphi developer - на английском. На русском форуме... Оригинально |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
SergeBS,
слияние текстовых файлов - запросто, а вот слить бинарники - не существует универсального решения. [offtop]Просто мне нужны только люди, влдаеющие английским - специфика области[/offtop] |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
December,
Прочитай свою почту |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Итак: подведу промежуточные итоги по теме:
Найдено 2 СУБД удовлетворяющие нашим требованиям - MS Access - SQLite Собственно со второй я никогда раньше не работал и никто из всей нашей компании тоже не сталкивался. Какие подводные камни могут быть при использовании SQLite???? , поскольку производительность в сотни раз выше нежели чем акцесса, прям не верится. Несколько постов выше я указывал замеры - так вот, после более конкретной настройки SQLite - она выдала на вставку в БД 500000 записей 6250 записей в секунду (и это по сети), а акцесс 128 (про кривые руки можно не писать Короче: C какими проблемами SQLite мне предстоит столкнуться??? (склоняемся к этому выбору) А ежели найдутся ссылки на проекты с использованием этой СУБД, то поделитесь пожалуйста ЗЫЖ wikipedia SQLite |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
А у SQLite есть конкурентный доступ к базе?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| qw84 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Явного ответа нет - но транзакции заявлены читать здесь и честно работает, проверено.
так что нет у него конкурентного доступа, но эта проблема с лихвой окупается простотой и скоростью Это сообщение отредактировал(а) qw84 - 5.4.2007, 16:03 |
||||
|
|||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
нет, но SQLite можно использовать для удаленной работы с проектом без интернета - одна из частей - sqlite славиться простой и быстродействием, хотя там есть ограничения по числу записей в таблице, а об ограничениях по размеру БД не сказано
это точно |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 1 Всего: 22 |
qw84,
Я на вашем месте рыл бы не в сторону SQL-серверов, а в сторону систем контроля версий и коллективной разработки. Т.е. CVN, Team Source, Visual SourceSafe и т.п. Поскольку SQL вам - лишний довесок. |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Я конечно это понимаю Спасибо Это сообщение отредактировал(а) qw84 - 6.4.2007, 14:03 |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
svn поддерживает lock на файлы
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
LOCK на файлы - это как раз нормальная практика для бинарных файлов в SVN.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Всем спасибо за помощь - остановились на SQLite. 500000 записей она добавляет за 58 секунд. Это приемлемо.
|
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |