Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 7 8 9 10 11 [12] 13 14 15 16 .. 23   вперед  Ctrl
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Зл0й
С точки зрения юзера, как он работает? Мы даем слово на некотором языке, и индекс выдает нам записи в которых слово "похоже" на данное?


To find
Type this in the field
Examples


Words that start with specific characters
(works with fields that use any language except Japanese)

The characters

Chris Smith finds Chris Smith, Smith Chris, Chris Smithson, and Smith Christenson


Words that start with specific characters
(Japanese field only)

The characters between = and *

finds , , and


A phrase or sequence of characters

The text, including spaces and punctuation, between the double quotation marks (").

"Marten and Jones Interiors" finds Marten and Jones Interiors but not Jones and Marten Interiors

", Ltd." finds all companies with ", Ltd." in the name, but not those without the comma.


Words with one or more unknown or variable characters

One wildcard character (@) for each unknown character.

Gr@y finds Gray and Grey

@on finds Don and Ron but not Bron


Digits in a text field

A # character for each digit

# finds 3 but not 30

## finds 30 but not 3 or 300

#3 finds 53 and 43 but not 3


Words with zero or more unknown or variable text characters in a row

* for all unknown characters.

Jo*n finds Jon and John

J*r finds Jr. and Junior

*phan* finds Phan and Stephanie


Symbols or other non-alphanumeric characters, such as punctuation or spaces

The characters, including spaces and punctuation, between the double quotation marks (").

"@" finds @ (or an email address, for example)

"," finds records containing a comma

"   " finds three spaces in a row


A character with special meaning such as database syntax recognized by FileMaker Pro:

@, *, #, ?, !, =, <, >, "

\ followed by the special character

\"Joey\" finds "Joey"
Joey\@abc.net finds the email address Joey@abc.net


Words with accented characters

The text, including spaces and punctuation, between the double quotation marks (").

"?pera" finds ?pera but not opera

(?pera without quotes finds both ?pera and opera)


Partial phrases (a sequence of words or characters)

Characters, punctuation, and spaces between the double quotation marks ("). Use * to find this text in the middle of a longer text string.

*"son & Phillips" finds

Johnson & Phillips and Paulson & Phillips


Exact matches of the text you specify

==
(two equal signs)

==John finds John but not John Smith

==John Smith finds John Smith but not Smith, John or John Smithers


Exact matches of whole words you specify

=

=Market finds Market, Market Services, and Ongoing Market Research but not Marketing or Supermarket

=Chris =Smith finds Chris Smith or Smith Chris but not Chris or Christopher Smithson


Words that contain specific characters in a Japanese field

The characters.

finds , , and


Japanese characters using a relaxed search method that does not differentiate between Hiragana/Katakana, Voiced/Semi-Voiced/Unvoiced Kana, Small/Regular Kana, and Kana Voiced/Unvoiced Iteration Marks (only works when finding in a Japanese-indexed field)

~ (tilde) and the character.

finds , , , , , and .


Если это не то что Вы спрашивали, то п-ста дайте мне конкретный пример, а я постараюсь объяснить как его реализовать в ФМ.
7 сен 04, 12:35    [939352]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Я и ёжик
1) На основании чего я должен решить, что нельзя покидать поле или что уже можно выполнить "обновление реальных полей за один проход", автоматчика приставить c системой внутренней связи? Вести список операций и проверять , а не выполняется ли в данный момент что то , что может помешать?

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



2) Одно "реальное поле" лежит в файле 458 в блоке 14570, другое поле лежит в файле 15 в блоке 3654 на разных дорожках, цилиндрах и.т.п. Что будет означать "выполните изменения реальных полей за один проход" ?

Где физически лежат данные никого не волнует. Если Вам нужно выполнить общий коммит двух записей, значит эти записи либо представляю из себя некую общую структуру данных, либо могут быть представлены в качестве таковой. Следовательно в ФМ Вы можете создать некоторую экранную форму, через которую в последствии и выполните изменения реальных полей обоих записей за один проход.



3) Ну вообще в ручную, хоть на ассемблере можно обеспечить , что угодно в каком угодно объеме. Я так понимаю из ваших слов ФМ не обеспечивает выполнения ACID, но предоставляет некий набор механизмов для его обеспечения, ну в принципе тоже возможный подход, позволяющий экономить ресурсы и проверки на основе знания предметныой среды, но предъявляющий требования к бОльшей квалификации разработчика.
Так раскройте наконец эти механизмы (остановимся на isolation и durability), это всё что Вас и просили.

Вроде бы раскрыл. Вроде бы бОльшей квалификации не требуется, достаточно понимать где у системы критичный участок, на котором потребуется коммит более одной записи, при том что эти записи не связаны друг с другом. Во всех остальных случаях, при вводе обычных документов содержащих одну или более релируемых записей, коммит всей структуры документа автоматически выполняется за один проход.
7 сен 04, 13:13    [939520]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Еще раз: ACID это не только атомарность,
хотя и атомарность в понимании Oracle самостоятельно ВАМ вряд-ли удастся реализовать. Похоже, Вы просто не понимаете о чем идет разговор.
Очень грустно :(
7 сен 04, 13:50    [939764]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Gluk (Kazan)
Похоже, Вы просто не понимаете о чем идет разговор.

Очень может быть. Объясните, может быть это всетаки удалось хоть в какой-то, ничтожной по сравнению с Окаклом мере реализовать разработчикам из FileMaker Inc.?

Кстати, если Вы забыли о чем сдесь ШЕЛ разговор: ФМ не является конкурентом Ораклу. ФМ это альтернативная среда разработки БД, право на существование которой, в качестве инструмента профессионального разработчика, ораклоиды пытаются оспорить.
7 сен 04, 14:17    [939953]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
ACID невозможно реализовать в "ничтожной мере" :)
Я не отрицаю права FM на существование, просто излагаю тезисы, которыми я руководствуюсь, считая, что FM НЕ ПРИГОДЕН для разработки под сколь нибудь ответственные задачи. Особенно при использовании метода разработки "от пользовательского интерфейса".
7 сен 04, 15:22    [940344]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Извините, забыл уточнить...
Александр Зуев
2) Одно "реальное поле" лежит в файле 458 в блоке 14570, другое поле лежит в файле 15 в блоке 3654 на разных дорожках, цилиндрах и.т.п. Что будет означать "выполните изменения реальных полей за один проход" ?

Где физически лежат данные никого не волнует. Если Вам нужно выполнить общий коммит двух записей, значит эти записи либо представляю из себя некую общую структуру данных, либо могут быть представлены в качестве таковой. Следовательно в ФМ Вы можете создать некоторую экранную форму, через которую в последствии и выполните изменения реальных полей обоих записей за один проход.

Это не означает что эту экранную форму должен видеть пользователь. Он может и не догадываться о её существовании. Просто в ФМ время от времени используют скрытые экранные формы, на которых выполняются какие-то процессы требующие вход в поле, например для выполнения команды Replace, итерации по строкам портала, вставки сложного условия поиска по полю Date и пр. Пользователь при этом ничего происходящего не видет.
7 сен 04, 15:22    [940347]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Вас связывает инструмент. Идеология проектирования от экранных форм, скрывающая бизнес-логику от разработчика ПОРОЧНА.
7 сен 04, 15:27    [940383]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
alfer_fm
Member

Откуда: Россия, Москва
Сообщений: 33
Gluk (Kazan)
ACID невозможно реализовать в "ничтожной мере" :)
Я не отрицаю права FM на существование, просто излагаю тезисы, которыми я руководствуюсь, считая, что FM НЕ ПРИГОДЕН для разработки под сколь нибудь ответственные задачи. Особенно при использовании метода разработки "от пользовательского интерфейса".


http://www.filemaker.com/customers/all.html
7 сен 04, 16:00    [940590]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
2 Gluk (Kazan)

Я позволил себе заквотить все ваши постинги. Вы не могли бы уточнить где именно Вы изложили те "тезисы", которыми руководствуетесь считая что "FM НЕ ПРИГОДЕН для разработки под сколь нибудь ответственные задачи"?

Gluk (Kazan)
2 Зл0й

По моему, Вы напрасно тратите свое время, Вас здесь не поймут :(
О чем вообще говорить, если механизм индексации преподносится как
жуткая корпоративная тайна за семью печатями. 90-е года прошлого века.


Gluk (Kazan)
2 Лох Позорный

В этом обсуждении мне более всего импонирует позиция Злого (мне ведь тоже Oracle на голову упал). В целом он все излагает именно так как оно исторически и происходило (по тому что запомнилось мне разумеется). Разумеется и для ФС придуманы очень удачные решения, и на определенных задачах ФС МОЖЕТ бить КС, но на мой взгляд технологии (в наиболее грамотных их реализациях) НЕСОИЗМЕРИМЫ.

Более всего прибивают тезисы со стороны адептов FM о новых методологиях проектирования ПО (начиная с кнопочек). Я знаю что такое RAD и активно его использую, но я также знаю и то насколько важны аспекты логического и физического проектирования БД, чтобы отдавать их на откуп автоматике.
Ну не представляю я КАК может быть АВТОМАТИЧЕСКИ построена серверная часть на основании ВИЗУАЛЬНОГО интерфейса.
Что-то не по душе мне подобный экстрим


Gluk (Kazan)
Случай из жизни и наверное злостный Offtopic
Месяц назад приходит ко мне старый знакомый (из тех, отказать которым невозможно) и заказывает систему, настаивая на файл-серверном решении.
Я в этот момент сильно занят и не могу разбрасываться на Oracle и что-то еще и начинаю уламывать его на Oracle. Через некоторое время уламываю на решение о покупке Standard Edition, классическое впаривание танка вместо мопеда, я это умею :) Неделю леплю макет, прихожу, ставлю.
Тут БЛИН выясняется что у них есть Enterprize Edition !!! и в ем крутится Парус к которому по ходу дела приходится подрубаться !!!!!!

Это я к тому, что народ уже начинает осозновать, что хотя мопед и ездит быстрее (некоторое время и по хорошей дороге), но у танка ЕСТЬ ПУШКА !
Кстати, танк едет довольно быстро (когда разгонится), и видели бы вы ВО ЧТО после этого превращается трасса


Gluk (Kazan)
2 ЛП

Очень полезная !!! А у Oracle к примеру очень мощный Backup & Recovery
Как с этим у FM (в смысле кроме холодного физического бакапа у него чего нибудь есть) ? Вопрос разумеется не к ЛП, а к адептам FM.


Gluk (Kazan)
А Вы видели мои системы чтобы так заявлять ? Вот уже лет 10 я уделяю МАКСИМАЛЬНОЕ внимание именно пользовательскому интерфейсу и добился в этом определенных успехов. В общем Вы меня сильно разочаровываете своими НЕОБОСНОВАННЫМИ высказываниями.

По поводу горячего бакапа: расскажите что Вы под этим понимаете и как это реализуется в FM. Просто сказать hot backup и дурак может.

Я думаю, всем будет интересно.


Gluk (Kazan)
2 Александр Зуев

Я видите-ли биллинговые системы пишу. Под конкретного заказчика, так-что мне скриншоты без надобности. Кроме того, скриншоты в данном случае НИЧЕГО не покажут, поскольку все прелести пользовательского интерфейса понимаются В ПРОЦЕССЕ РАБОТЫ с ним, он заточен под бизнесс-процесс.
Ориентация на интуитивный интерфейс требующий минимального обращения с клавиатурой или мышью для решения ШИРОКОГО круга задач единообразными методами (в соответствии с доступными правами разумеется).
Если Вы не можете вести параллельную разработку серверной и клиентской частей, это вовсе не означает, что подход устарел и обречен на вымирание. А вот ЕРЕСЬ разработки от пользовательского интерфейса напрямую ведет к проблемам в последующем сопровождении (о чем и говорит уважаемый товарищь Злой). Право Вам стоит прислушаться к его словам, он ГОРАЗДО более опытен чем Вы, несмотря на то, что некоторым столь-же более опытным чем Вы товарищам очень нравится поливать его грязью.
Фактически Вы ДОБРОВОЛЬНО отказываетесь от самостоятельной разработки серверной части (инструмент связывает Вас и не оставляет Вам выбора). В проектах, связанных с СУБД это грозит ПОЛНЫМ провалом.


Gluk (Kazan)
Теперь по поводу hot backup. Прелесть Archive log Mode Oracle вовсе не в том, что можно делать резервную копию не выгоняя пользователей, это частность. Важно то, что механизмы Oracle позволяют получить базу данных в СОГЛАСОВАННОМ состоянии на любой момент времени, накатывая архивные логи на последнюю имеющуюся резервную копию. Также этот механизм позволяет поднимать STANDBY сервер, обеспечивая минимальное время восстановления после падения основного сервера. Сомневаюсь, что FM умеет все это. Учитывая Ваш "новаторский" подход я ближе к выводу, что Вы просто не представляете себе что база данных может находится в не согласованном состоянии (Вы про ACID что-нибудь слышали ?) и ПРОСТО полностью копируете файлы данных не выгоняя из системы пользователей


Gluk (Kazan)
2 Килобит

В гости приезжай, все покажу :) Сравним с твоим "междумордием".
Впрочем, есть вероятность что в скором времени один из моих продуктов всплывет в Москве, тогда у Вас будет возможность его и посмотреть и приобрести.

Ломает меня скриншоты выкладывать. Было-бы ради чего :)


Gluk (Kazan)
В отличие от Вас, я не занимаюсь рекламой своих продуктов на форуме. Мне это без надобности. Называть я могу как захочу и кого захочу (главное что мы друг друга поняли). Размазываю я обычно ЧУЖИЕ сопли. И стеснятся мне нечего.

Если Вы внимательно почитаете текст, то обратите внимание, что было высказано необоснованное утверждение о том, что я уделяю недостаточное внимание вопросу пользовательского интерфейса. Я заявил, что не согласен с этим утверждением, но не вижу необходимости тратить усилие для того чтобы кого-то в чем-то убедить/разубедить. Мне знаете ли глубоко наплевать на то, что Вы обо мне думаете.


Gluk (Kazan)
2 Александр Зуев

Вас еще никто не "опускал". Постыдились бы употреблять такие выражения в приличном обществе.


Gluk (Kazan)
А ты на пальцах объясни как он устроен, а мы тебе скажем как это называется. А вообще можно было бы и Кнута скажем почитать (или Вирта).


Gluk (Kazan)
Возможны ли в FM Validation, обеспечивающие функциональность внешних ключей РСУБД ?


Gluk (Kazan)
Просто напросто Вы пытаетесь обсуждать со специалистами вопросы в которых не компетентны. Вам дают советы, Вы огрызаетесь.
И позвольте мне выбирать ту форму обращения, которую я сочту подходящей в каждом конкретном случае.


Gluk (Kazan)
О ВЕЛИКИЙ ГУРУ FM !!!

Я и не задавал Вам никаких вопросов. И не собираюсь, поскольку по Вашим ответам уже составил для себя мнение, что есть FM и что есть ВЫ.
Успехов в труде.


Gluk (Kazan)
Кстати, если Вы не уловили, совет заключался в том чтобы забыть этот ... FM и дорасти наконец до любой РСУБД. Это и совет и доброе пожелание.


Gluk (Kazan)
Возможно это КС, но до РСУБД это пока не дотягивает.
С учетом закрытости и отставания от конкурентов, вряд-ли когда то дотянет.
IMHO разумеется


Gluk (Kazan)
2 АЗ

При использовании ASO подслушивать Oracle уже бесполезно.


Gluk (Kazan)
Почему-же атомарность и консистентность также весьма интересны :)
Плизззз пошлите просвещение нам темным


Gluk (Kazan)
Еще раз: ACID это не только атомарность,
хотя и атомарность в понимании Oracle самостоятельно ВАМ вряд-ли удастся реализовать. Похоже, Вы просто не понимаете о чем идет разговор.
Очень грустно :(


Gluk (Kazan)
ACID невозможно реализовать в "ничтожной мере" :)
Я не отрицаю права FM на существование, просто излагаю тезисы, которыми я руководствуюсь, считая, что FM НЕ ПРИГОДЕН для разработки под сколь нибудь ответственные задачи. Особенно при использовании метода разработки "от пользовательского интерфейса".


Gluk (Kazan)
Вас связывает инструмент. Идеология проектирования от экранных форм, скрывающая бизнес-логику от разработчика ПОРОЧНА.
7 сен 04, 16:15    [940664]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Gluk (Kazan)
Идеология проектирования от экранных форм, скрывающая бизнес-логику от разработчика ПОРОЧНА.

Кажется это начало крестового похода. Бей неверных!
7 сен 04, 16:25    [940699]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Я и ёжик
Member

Откуда: СПб
Сообщений: 1815
Александр Зуев
Я и ёжик
1) На основании чего я должен решить, что нельзя покидать поле или что уже можно выполнить "обновление реальных полей за один проход", автоматчика приставить c системой внутренней связи? Вести список операций и проверять , а не выполняется ли в данный момент что то , что может помешать?

Ну автоматчика наверно не стоит, это - не есть юзерфрендли интерфейс :), а если оптимальное решение конкретной задачи требует ведения списка операций - ведите.

Мало похоже на оптимальное решение...
Затратно и всегда найдется враг который забудет прописать или проверить операцию...

Александр Зуев

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

И чем это поможет в нашей ситуации с выполнением изменений в одной транзакции в то время как другая выполняет "расчет среднего чего то там"?
Изменяются связанные данные, одно поле уже учтено до изменений, а до другого поля наша "расчитывающая" транзакция еще не дошла. Вопрос не в корректности отдельной транзакции, а в их взаимном влиянии, та самая isolation.

Александр Зуев

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

Либо просто являются частью одной транзакции, которая как известно должна быть выполнена или вся или не выполнится вообще.
Вас зря не волнует где физически лежат записи. Нельзя одновременно обновить данные лежащие на физическом носителе в разных местах, это всегда будет несколько операций, даже если на логическом уровне Вы думаете , что это "обновление за один проход". И соответственно всегда есть вероятность , что одна операция выполнилось, а перед второй ктото выдернул провода. Т.е. предлогаемый Вами механизм "обновление за один проход" не обеспечивает ни Durability, ни Atomicy,ни Consistency.
Другие механизмы есть?

Александр Зуев

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

Требуется квалификация, тем более когда ACID надо осуществлять вручную.
Вы опять забыли, что транзакции выполняются в конкурентной среде и могут влиять друг на друга. И блокировки при "входе в поле" для редактирования часто не достаточно, поскольку возможны еще эффекты вызванные тем , что называют "несовместимым анализом". Менеджеры транзакций основанные на механизме блокирования используют ещё минимум блокировки на чтение, а на самом деле значительно больше видов блокировок.
7 сен 04, 16:30    [940721]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Dedushka Mazai
Member

Откуда:
Сообщений: 959
АЗ
Кажется это начало крестового похода. Бей неверных

зря мы Вас зачислили в почетные кс-разработчики, зря...
7 сен 04, 16:34    [940737]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Приятно, когда меня цитируют так изобильно :)
Но это лишнее. FM НЕ ПОДДЕРЖИВАЕТ ACID особенно D и этим все сказано.
Серьезное приложение не может функционировать без Backup & Recovery
Security отсутствует как класс :(

О чем разговор ???

У меня закончился рабочий день, так что продолжение дискусии с моей стороны завтра.
7 сен 04, 16:48    [940801]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Dedushka Mazai
АЗ
Кажется это начало крестового похода. Бей неверных

зря мы Вас зачислили в почетные кс-разработчики, зря...

Ну а что Вы мне предлагаете? Признать что земля плоская и на ней существует только одна единая и непогрешимая методология разработки, а потом, втихаря шипнуть "а всетаки она крутится"?
8 сен 04, 12:06    [942705]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Я и ёжик
Александр Зуев

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

И чем это поможет в нашей ситуации с выполнением изменений в одной транзакции в то время как другая выполняет "расчет среднего чего то там"?
Изменяются связанные данные, одно поле уже учтено до изменений, а до другого поля наша "расчитывающая" транзакция еще не дошла. Вопрос не в корректности отдельной транзакции, а в их взаимном влиянии, та самая isolation.

Метод который я описал и дает ту самую isolation. В ФМ чтение/запись файлов выполняет сервер. Если "расчитывающая" транзакция будет выполнена им (сервером) в период между изменением первой и второй записей клиентом, то она получит данные обеих записей до изменения, поскольку измененная первая запись существует пока только на клиенте - сервер пока ничего не знает о изменениях, сервер знает только то, что обе записи заблокированы, - а потом, когда сервер закончит обработку "расчитывающей" транзакции, он сможет занятся "изменяющей" транзакцией, и запишет измененные данные обеих записей за один проход.



одна операция выполнилось, а перед второй ктото выдернул провода

И как такого рода проблемы решают в других системах?



Требуется квалификация, тем более когда ACID надо осуществлять вручную.

Не надо ACID осуществлять вручную. Я же писал что ACID в пределах единого документа осуществляется автоматически.



И блокировки при "входе в поле" для редактирования часто не достаточно, поскольку возможны еще эффекты вызванные тем , что называют "несовместимым анализом".

Вы не могли бы привести конкретные примеры?



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

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

И ещё, очень может быть что существую некие супер-задачи, которые требуют супер-блокировок, но %90 БД этого просто не требуют.
8 сен 04, 14:37    [943546]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Gluk (Kazan)
FM НЕ ПОДДЕРЖИВАЕТ ACID особенно D и этим все сказано.
Серьезное приложение не может функционировать без Backup & Recovery
Security отсутствует как класс

Это, извиняюсь, не "тезисы", а очередной "бред сивой кобылы". ACID ФМ поддерживает, Backup & Recovery в нем функционирует и Security присутствует. Прежде чем делать громкие заявления их следует проверять.
8 сен 04, 14:47    [943589]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Извините, Вы не подготовлены для столь содержательной беседы, а у меня нет времени Вас переубеждать. Да оно мне и не надо. Хотите считать FM современным клиент-сервером, считайте. Это Ваше право. То что это не соответствует действительности, не должно Вас волновать.
8 сен 04, 15:19    [943741]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Я и ёжик
Member

Откуда: СПб
Сообщений: 1815
Александр Зуев

Метод который я описал и дает ту самую isolation. В ФМ чтение/запись файлов выполняет сервер. Если "расчитывающая" транзакция будет выполнена им (сервером) в период между изменением первой и второй записей клиентом, то она получит данные обеих записей до изменения, поскольку измененная первая запись существует пока только на клиенте - сервер пока ничего не знает о изменениях, сервер знает только то, что обе записи заблокированы, - а потом, когда сервер закончит обработку "расчитывающей" транзакции, он сможет занятся "изменяющей" транзакцией, и запишет измененные данные обеих записей за один проход.

1) Прочитайте еще раз условие задачи, от господина ЗлОго.
Не "расчитывающая" транзакция будет выполнена им (сервером) в период между изменением первой и второй записей клиентом, а клиент меняет записи во время работы "расчитывающей" транзакции ( изменяющая транзакция выполняет свои короткие изменения в то время как идет длительная читающая транзакция). Последняя начинается до того как клиент успел изменить записи и успевает считать 1-ю запись которая будет изменена до её изменения, а заканчивается после того как клиент изменил 2-ю запись, и до этой второй записи добирается уже после того как изменяющий клиент сказал "commit".
2)Что бы занятся 'изменяющий транзакцией потом, когда сервер закончит обработку "расчитывающей" транзакции', он должен на основании чего то ждать, то ли на блокировке выставленной ЧИТАЮЩЕЙ транзакцией, ну или например ожидать когда закончится некая операция в списке операций ( о чем мы говорили ранее).

Александр Зуев

одна операция выполнилось, а перед второй ктото выдернул провода

И как такого рода проблемы решают в других системах?

Журнал транзакций ( двойная запись) в явном ( DB/2, MsSQL, Oracle и.т.д.) или неявном ( InterBase и его клоны) виде.
Одним из самых успешных и продвинутых считается семейство алгоритмов ARIES ( используется например в DB/2, MsSQL, Lotus ).

Некоторый обзор механизмов ACID в том числе журнализация рассматривается в серии статей "Введение в управление транзакциями" в журнале "Открытые системы", правда многое поверхностно.
1 часть.Информационные системы и обработка транзакций
2 часть.Поддержка атомарности, сохранности и непротиворечивости. Изолированность
3 часть.Фантомы. Изолированность. Уровни изолированности.
4 часть.Стратегии обработки транзакций.Особенности одноверсионных и многоверсионных систем.Особенности поведения приложений.Блокирование или многоверсионность.



Александр Зуев
Не надо ACID осуществлять вручную. Я же писал что ACID в пределах единого документа осуществляется автоматически.

Не бывает ACID в пределах документа, бывает ACID в пределах транзакции.

Александр Зуев
Вы не могли бы привести конкретные примеры?

Конкретный пример мы как раз пытаемся разобрать уже несколько дней ( короткие изменющие транзакции во время работы длительной читающей транзакции).
Ну или вариант из любого учебника:
Имеем некоторые элементы данных a и b ( атрибуты в кортежах, документы, значение глобала, в общем пофиг-что, в пофинг-какой модели данных).Имеем условие целостности a+b <= 10. Есть две транзакции T1 и T2,
T1 должна добавить к a двойку, и транзакция T2 должна удвоить значение b.
На момент начала a = 5, b = 2.

Транзакция T1 | транзакция T2
читает a (5) |
| читает b (2)
блокирует a | блокирует эксклюзивно b
|
| читает a (5)
записывает a=a+2=7 |
| записывает b=b*2=4
читает b (2) |
(2 т.к. коммита в T2 | читает a (5) (2 т.к. коммита в T1
еще не было, не видим)| еще не было, не видим)
|
проверяет a+b <= 10 | проверяет a+b <= 10
7+2 <= 10 | 5+4 <= 10
все хорошо | все хорошо
Commit; | commit;
В результате в базе a=7,b=4 - условие целостности a+b < 10 нарушено.

Александр Зуев
Не сомневаюсь. Но Вы что, серьёзно предполагаете что инженеры из ФМИнк не в состоянии реализовать в своем продукте достаточно видов блокировок? Вам не кажется что эти ребята как следует подумали над этим и просто сочли не нужным отягощать своих пользователей избыточными функциями, а вместо этого реализовали автоматические механизмы необходимых блокировок и оказались от избыточных?

Я ничего не полагаю, я всего лишь спрашиваю у Вас о используемых механизмах, что бы составить мнение . Дело в том, что реализация полной (автоматической) изоляции транзакций очень ресурсоемка и вызывает при ее применении очень большие издержки и ожидания в работе транзакций (для блокировочных механизмов, или повышенное потребление ресурсов и задержки на поиск в версионных). Поэтому в целях повышения способности к параллельному исполнению транзакций намерено вводят более ослабленные требования к изоляции транзакций(уровни изоляции), что улучшает производительность, но может привести к некорректным данным в БД в результате взаимодействия транзакций (обычно их называют феноменами).Поскольку разработчик должен знать, какие неприятности он может нажить используя тот или иной уровень изоляции и возможно предпринять дополнительные меры, все это дело широко и подробно расписывается в соответствующих разделах документации посвященных обеспечению конкурентного доступа ( включая типы блокировок и последствия их применения). Отсюда и вопрос был к Вам, как к разработчику, который вроде как должен читать документацию, в которой вопросы параллельного доступа должны быть подробно рассмотрены.


Вообще если действительно хотите разобраться с механизмами управления параллельными заданиями и восстановлением, я уже давал ссылку
здесь.
8 сен 04, 18:36    [944864]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Александр Зуев
Guest
Я и ёжик
клиент меняет записи во время работы "расчитывающей" транзакции ( изменяющая транзакция выполняет свои короткие изменения в то время как идет длительная читающая транзакция).

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



Журнал транзакций ( двойная запись) в явном ( DB/2, MsSQL, Oracle и.т.д.) или неявном ( InterBase и его клоны) виде.

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

В принципе, в большинстве задач, которые эффективно решать в ФМ журнал транзакций избыточен. Целостность записанных данных он обеспечивает автоматом, а ценность текущих буферов клиентов или изменений внесенных в последнюю секунду перед потерей питания не настолько велика - не космическим кораблем же управляем.

BTW, спасибо за ссылки.



Не бывает ACID в пределах документа, бывает ACID в пределах транзакции.

"Документ", в том понимание, в котором я использую сдесь этот термин, это - одна или несколько логически связанных записей. Транзакция - это операция по изменению одной или нескольких записей. Следовательно, если ACID в пределах транзакции бывает, то ACID бывает и в пределах документа, в том понимании, в котором я использую сдесь термин "документ".



Имеем некоторые элементы данных a и b ( атрибуты в кортежах, документы, значение глобала, в общем пофиг-что, в пофинг-какой модели данных).Имеем условие целостности a+b <= 10. Есть две транзакции T1 и T2,
T1 должна добавить к a двойку, и транзакция T2 должна удвоить значение b.
На момент начала a = 5, b = 2.

Транзакция T1 | транзакция T2
читает a (5) |
| читает b (2)
блокирует a | блокирует эксклюзивно b
|
| читает a (5)
записывает a=a+2=7 |
| записывает b=b*2=4
читает b (2) |
(2 т.к. коммита в T2 | читает a (5) (2 т.к. коммита в T1
еще не было, не видим)| еще не было, не видим)
|
проверяет a+b <= 10 | проверяет a+b <= 10
7+2 <= 10 | 5+4 <= 10
все хорошо | все хорошо
Commit; | commit;
В результате в базе a=7,b=4 - условие целостности a+b < 10 нарушено.


Если поля a и b принадлежат одной записи, то в ФМ такая ситуация не может произойти ни при каких условиях - вторая транзакция не сможет блокировать запись до тех пор, пока не завершится первая.

Если же поля a и b принадлежат разным записям, то предотвратить нарушение целостность можно только с помощью метода описанного мной ранее.



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

Судя по моим ощущениям, в ФМ используется полностью автоматическая изоляция транзакций - со всеми вытекающими.
8 сен 04, 20:44    [945146]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Гость 4
Guest
Друзья мои, читая Ваши нападки на ФМ, я вижу, что Ваша цель - прежде всего показать то, что Вы знаете SQL. Видим, что это так, но причем тут ФМ?
Не зная ФМ Вы делаете утверждения типа: " А вот это он не может", "А вот то он не может". Откуда Вы знаете может или нет? Не думаю, что Ваши нападки носят серьезный характер.
ФМ может делать все, что нужно на практике, и добиться чтобы он делал это можно за очень короткое время в отличие от других СУБД - вот в чем его преимущество.
10 сен 04, 08:53    [949422]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Но откуда Вы знаете, что скажем я не могу добиться аналогичных результатов за аналогичное время на связке Oracle+Delphi ??? Вам не кажется, что Вы судите несколько однобоко ?
10 сен 04, 09:02    [949445]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Гость 4
Guest
Я не говорю, что Вы этого не можете! Но не Filemaker брррр......, как это звучит в начале рубрики! Слава богу те, которые так написали уже отошли от обсуждаемого здесь вопроса, поняв, что это не так. А смысл мною сказанного заключается в том, что не хаить того чего мы не знаем? Достаточно хорошо зная возможности SQL, тем не менее я делаю свои проекты на ФМ, потому что на нем это делается быстрее и легче и, поверьте, надежно! После этого я пробовал работать и на Delphi, и на VB, но не хватило времени и терпения, чтобы разобраться как сложно там делаются вещи, что на ФМ делается за очень короткое время. Может быть я недостаточно времени уделил этому делу, но я отказался от этих затей.
VB, Delphi, C++ - это языки для решения системных задач. Их не разрабатывали для работы с СУБД. Примочки для работы с СУБД там добавлены после создания этих языков. В этом и причина медленной скорости создания программ, работающих с СУБД.
Для решения же системных вопросов к ФМ можно подключить С++ и, если очень хочется превращать курсор в пробку из под пива. А что же касается СУБД, то он специально для этого разрабатывался, он именно на это и настроен, и конечно не секрет, что на нем решать задачи этого типа легче!
Хорош SQL со своими прекрасными возможностями, но чтобы написать на нем клиента надо состыковаться с каким то другим языком программирования.
10 сен 04, 10:32    [949778]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
alfer_fm
Member

Откуда: Россия, Москва
Сообщений: 33
Gluk (Kazan)
Но откуда Вы знаете, что скажем я не могу добиться аналогичных результатов за аналогичное время на связке Oracle+Delphi ??? Вам не кажется, что Вы судите несколько однобоко ?


Блин, ну что же Вы ходите по кругу! Уже вроде всё разжевали и в рот положили... Конечно, если у вас есть готовая "супер-рыба" на сервере, которую можно подложить под логику любого проекта, если то же самое есть готовое в Дельфи, то, конечно, с учётом Вашего профессионализма (без тени иронии), проект будет готов в довольно короткие сроки. Но имея пустой сервер, с пустыми же Дельфями (без компонентов и заготовок), вряд ли скорость разработки будет высока.
Почему на ФМ будет быстрее? Потому что ФМ УЖЕ имеет в себе ГОТОВЫЕ средства редактирования, поиска и импорта/экпорта данных. ГОТОВЫЕ! С одной стороны - это понятное всем ограничение, т.е. "выше головы", для каких-то экзотических задач, не прыгнешь. А с другой стороны, для БОЛЬШИНСТВА задач ЭТОГО ВПОЛНЕ ДОСТАТОЧНО! А с учётом подключения плагинов и это решаемо.
Да, Дельфи великолепный продукт! Напишу всё что угодно, подключусь к любой базе... Но грех сравнивать Дельфи+Оракл с ФМ, разная весовая категория, как Вы этого не поймёте. НЕ НАДО СРАВНИВАТЬ! Создаётся такое впечатление, что Вы просто испугались, мы тут гиганты больших СУБД, а вдруг появился какой-то ФМ, раз-два и проект готов. А мы, мол, хранимые процедуры пишем, транзакции планируем... Т.е. вы так серьёзно взялись за ФМ, как-будто он действительно конкурент Ораклу... И смешно и грустно, честное слово.
10 сен 04, 10:40    [949829]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пугаться людей, не знающих что такое транзакция ?
Нет, это не про меня :)
10 сен 04, 11:01    [949959]     Ответить | Цитировать Сообщить модератору
 Re: Filemaker брррр...  [new]
Dedushka Mazai
Member

Откуда:
Сообщений: 959
Пугаться людей, не знающих что такое транзакция ?
10 сен 04, 12:39    [950496]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 7 8 9 10 11 [12] 13 14 15 16 .. 23   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить