| Re: Нужен алгоритм | |
|---|---|
|
ssa Сообщений: 13115 Откуда: Москва Дата регистрации: 23.03.2005 |
О, давненько не тусили тут "открыватели глаз". Вы действительно верите/думаете, что тутошний народ нуждается в "просвещении"?Цитата:Ибо они там как собаке пятая нога? Цитата:Да-да, они самые. Интересно, зачем взрослому серверу сохранять клиентские переменные, к которым он и доступа то не имеет, и знать про них ничего не знает? Цитата:А какое это отношение имеет к серверу? Цитата:Ну точно, очередной мессия и просветитель. Цитата:А мужики-то и не знают...
------------------ Лень - это неосознанная мудрость. |
| Re: Нужен алгоритм | |
|---|---|
|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
Сергей, я бы так не скал, что здесь очень просвященые. Даже судя по их вопросам. И к вашему сведению MS VFP может быть и клиентом и сервером. По крайней мере так его задумывала Корпорация MS. К тому же создатель темы четко писала, что у неё клиент и на нём БД.
|
| Re: Нужен алгоритм | |
|---|---|
|
PaulWist Сообщений: 14819 Дата регистрации: 01.04.2004 |
Всё зависит от массы факторов, в общем случае (для сферического коня) фокс имеет достаточно посредственную производительность, более того легче перечислить, что фокс "умеет", чем перечислить, что фокс "не умеет". ;)
Мда, а теперь посчитайте, какой тип данных можно "затолкать" в табличку с 1 млрд записей (даже если определить поле/поля not null) для размера 2Г?? ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
| Re: Нужен алгоритм | |
|---|---|
|
ssa Сообщений: 13115 Откуда: Москва Дата регистрации: 23.03.2005 |
Разумеется. Мы ж на техническом форуме и потому тут святость как рыбе зонтик. Цитата:Очередная ошибка выжившего. Знающим нет смысла что-то здесь спрашивать и их здесь не видно. Видны как раз незнающие. Цитата:Да ладно! А я уж и забыл, что узнал об этом 20 лет назад. Цитата:Взрослые сервера тоже умеют быть клиентами. Цитата:Похоже у кого-то свое оригинальное понимание слова "клиент". ------------------ Лень - это неосознанная мудрость. |
| Re: Нужен алгоритм | |
|---|---|
|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
PaulWist,
посмотрите описание SQLite. Там описана логика целостности транзакции следующим образом: 1. Перед началом транзакции SQLite создает журнал.... не указано где этот журнал создается. Похоже в временных тектовых файлах. Почему так думаю? Если в самой БД, то это крайне не надежно. При выключении питания, журнал может также испортится, как и БД из-за наличия кешей (они в ОП). Я создаю переменные тревоги в отдельном файле при открытии каждого файла и по необходимости в той же директории, что и сама БД, такие переменные сразу же сохраняются на диске встроенной командой VFP. 2. SQLite, если вся транзакция не завершена, восстанавливает записи из журнала на состояние до начала транзакции, а если завершена — удаляет журнал (считай текстовый файл). Я делаю что-то аналогичное, только с переменными в ОП и сохраняю их. 3. Я это делаю не везде, а только для открытия dbf для контроля целостности cdx-файлов и по необходимости при определенных комплексных заменах. Но замечу., что таких замен я лично избегаю еще на этапе проектирования структуры БД. Можно сделать такую структуру, что БД будет портится при каждом аварийном случае, а можно такую, что БД будет всегда целой. Это отдельная тема. Подозреваю, что SQLite возможно в чем-то опережает VFP, а в сохранении транзакций уступает выше описанной применяемой мной схеме. О чем я выше вам уже писал, но вы не поняли. И это никакие не костыли, это нормальный алгоритм, который закладывается мной при создании программ, а про многие общие вещи я даже и не вспоминаю, т.к. пользуюсь своим фреймворком, где все это уже есть. Могу добавить, что порча файлов у меня встречалась в начале 90-х, когда я был новичком в foxpro, и тогда мне и пришлось изменять подход и делать наработки. Дальше у меня этой темы не возникало. Но попав к вам на форум, мне приходится объяснять всякие азы. И я это могу для вас делать, но некоторые как то неразумно такое "просвещение" (термин Сергея) воспринимают. Костыли как раз возникли у Тани с её "взрослой" БД. О чем я вам и писал, что это субъективное понятие. Поэтому поскольку здесь "технический форум" давайте пользоваться конкретикой, а не литературными образами, как это сделал Сергей в предыдущем сообщении, даже ему не отвечаю.... Исправлено 2 раз(а). Последнее : kornienko_ru, 02.04.24 03:57 |
| Re: Нужен алгоритм | |
|---|---|
|
PaulWist Сообщений: 14819 Дата регистрации: 01.04.2004 |
Почему надо гадать "на кофейной гуще", когда есть оф. дока WAL-mode File Format WAL File Format и даже на русском разжевано, какие текстовые файлы, вы о чём
Бл... сильно
Вопрос, в транзакции сохраняете, например 1000 записей по 20 полей на запись скажем в 10 табличках (например, вполне жизненная ситуация - пришел заказ, при его сохранении происходит резервирование товара на складах, "выписка"/подготовка черновика счёта, накладной, счета-фактуры, расходных накладных складов итд - напоминаю, всё это происходит в одной транзакции), сколько переменных сохраняете, как затем восстанавливаете сохраненные переменные в записи табличек, что делаете если значения переменных конфликтуют с PK/FK ?? ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 02.04.24 08:58 |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
"Пришли на горку с санками, вместо снега пошел дождь ... Нас это огорчит, но не остановит!" (с)
|
| Re: Нужен алгоритм | |
|---|---|
|
of63 Сообщений: 26603 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Я поступаю примерно так:
- есть некий семафор, например товар - клиент заказывает товар на сайте - я "блокирую" товар, даю клиенту информацию о количестве, наличию... - проходит время "ковыряния в носу" клиента, и он наконец дает согласие на покупку, или отказ от покупки - я генерю инфу, что товар заказан, и "разблокирую" товар Недостаток очевиден - пока клиент думает над кнопкой "купить/некупить" товар "заблокирован", и другой клиент его может увидеть в этом состоянии Поэтому делаю сложнее - состояние "заблокирован" (T/F) заменил на несколько состояний (0-свободен, 1-выбирается к покупке, 2-выбран к покупке). Да, сложнее алгоритм (вместо 2х состояний - три, ну, а куда деваться...) Возможно, механизмом "транзакция" в БД не удастся обойтись, она для "атомарности" изменения в БД (много связанных таблиц), а не для логики приложения, мтк. |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
В простом случае можно поступить проще - "кто первый встал того и тапки", ну а возможные конфликты разруливать на уровне БД/транзакций ...
|
| Re: Нужен алгоритм | |
|---|---|
|
of63 Сообщений: 26603 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Нет, "загвоздка" во времени "ковыряния в носу" клиента, который первый "наступил на тапки".
Надо усложнять алгоритм общения с клиентом, таким, который утром наступает на общественные единственные тапки, и снимает их вечером, когда проспится, даже не сходив в них поссать. > на уровне БД/транзакций Да, есть разница - - на уровне БД - можно сделать несколько вариантов занятия тапок - транзакция - это просто процесс записи в БД желаемого состояния тапок, сделанного на основе выбора тапок клиентом утром, а записываем вечером... Сложно что-ли представить механику? Доб. Я сделал по простому -занимаю "товар" "если я зашел в него (типа повыбирать действия с ним). Никто не может совершить никакие действия с "товаром", если он занят выбиральщиком (ковыряльщиком в носу) - освобождаю товар, когда ковыряльщик перестает ковырять в носу, или истекает таймер соединения при бездействии - да, грубый способ! - предложил же усложнить до алгоритма с "тремями" состояниями - предложите, что делать, если "товар" (билет на поезд, например) в процессе выбора действия, и второй клиент тоже видит этот билет, и тоже хочет, думает .ковыряет в носу... Ну, ктол первый начал ковырять в носу... Это и есть программирование реальной фигни всякой. Пиши, че... Исправлено 2 раз(а). Последнее : of63, 05.04.24 22:01 |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
таки и я про это, в простейшем случае, сколько бы клиент не думал, только в момент подтверждения его "раздумий" и происходит фактическое "резервирование" товара с учетом того что осталось за время пока он в носу ковырялся, ежели что-то уже скончалось - то "извиняй братан" )))
|
| Re: Нужен алгоритм | |
|---|---|
|
of63 Сообщений: 26603 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
"В простейшем случае" было в институте, Андрей. Щас жесткая епля, за каждую трудовую копейку, за каждый неполученный рупь прибыли... "работодателем" и государством)
|
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Смею заверить, в большинстве продажных систем/программ так и работает, никто не блочит товар на время размышлений покупателя. Исключения разумеется тож есть - типа "vip-клиенты" или там тендеры какие.
|
| Re: Нужен алгоритм | |
|---|---|
|
of63 Сообщений: 26603 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Смею заверить
Не думаю, что ты точно знаешь, как написали эту деталь твои "большинства продажных систем" Пишут конкретные люди, с конкретными предпоченниями ) Не заморачивайся про "кто как пишет" (что муссируется на этом форуме, это не очень правилньо), пиши сам, юзай, тырь код, у других. Доб. Ты пасешься на нашем форуме по фоксу, значит другие оказались хуже, или не лучше. Ну, цени, что есть ) () Хотя, какие мы фоксисты... () какой-то Цын..хауз... не помню, один из физических разрабов фокса под Винду, видно что уровни разраба (что закладываешь в прогу) и пользователя стстемы (что юзеры - прогеры - дебилы) и щас видно, на порядок-два ниже. () До сих пор помню Цынгауза некого (единственного), вышедшего на связь с нами (с не со мной, это бвло давно)... () "пасешся" - это не оскорбление.. Не буду ассоциации, ... "не бросаешь"... типа того ) Исправлено 6 раз(а). Последнее : of63, 05.04.24 23:12 |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Я ж не программист ... так любитель )))
Ну и пасемся мы там где нам комфортно, мне тут хорошо ![]() |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Нифига подобного, предпочтения пишущих тут на десятом-двадцатом месте, а первично ТЗ, либо оно же выраженное неявно в виде "хотелок". |
| Re: Нужен алгоритм | |
|---|---|
|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
Не вы выдумываете какие-то не реальные для жизни задачи, вернее их осуществление. Проблем никаких нет. Всё можно сделать на чем угодно. Раньше все от руки писали и на счетах считали. А если вам всё чето-то мало и не хватает, значит проблема в вас. Я вообще сюда заглянул по консультации по вашей теме взрослых баз. Хочу пойти навстречу пожеланиям и включить в свой web-сервер какую-нибудь взрослую (хотя здесь бы больше подходило — молодую) СУБД. Несколько дней пытался прикрутить упомянутый Таней продвинутый по количеству миллиардов записей и терабайтам SQLite. Получилось только на последнем .NET 8. У меня и у многих этот рантайм не установлен, не хотелось бы клиентов нагружать излишней установкой чего-то дополнительно.... таков мой принцип... используй то, что есть в системе Windows и всё, что бесплатно. Хотя все идет к тому, что надо переходить на .NET, у него установщики и для Linux есть и много чего интересного, например F#, аля забытый фортран, уникальность которого в том, что он есть и компилятор и интерпретатор, я обязательно на него перейду с WSH и c#. Второй вариант, который мне удался без .NET 8 (Подключиться, погонять SQL тесты) это — сервер MS SQL Express LocalDB, правда все равно надо небольшой установщик скачать и установить сам сервер LocalDB https://go.microsoft.com/fwlink/?linkid=2215160. Это совместимая с MS SQL СУБД, но усеченная для одного сервера и бесплатная, типа аля SQLite. Что вы думаете об этой СУБД? Она приличная, взрослая? По моим ощущениям с ней нет никаких проблем, все интерфейсы стыкуются, устанавливается и работает всё как по маслу.... -- Сам себе отвечаю.... Нашел официальную информацию, что у MSSQL Express ограничение на размер БД — 10Г .... Тане не подойдет... Тогда ориентируюсь на MS .NET. Исправлено 1 раз(а). Последнее : kornienko_ru, 06.04.24 10:50 |
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Ну а почему только мелкомягкие? Разные есть варианты, сейчас вот постгрес в теме. Я лично до сих пор firebird юзаю, да, по некоторым фичам и вкустностям он проигрывает MS SQL, но при этом он opensorce, есть хоть под виду хоть под линухи, размер БД ограничен только мощностью вашего железа и фантазии )))
Мне комфортно на 40-60 Гб базе жить - данных для текущей работы достаточно и при этом бэкап-рестор не напрягает. По скорости могу сказать тож - обработка ежедневной текучки (порядка 10 млн. записей) сейчас на обычном офисном компе - 10-15 мин, много ранее на фоксовых таблах это было не менее получаса да еще с периодическими проблемами. |
| Re: Нужен алгоритм | |
|---|---|
|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
Да, я на эту СУБД давно обратил внимание. Тоже в названии есть Fox. Даже поигрался. Мне лично понравилось, что ничего устанавливать не надо, просто скоровал программу в папку и она прекрасно из командной строки работает. Но прочитал отрицательные отзывы, что базы портятся, база не надежная. После этого все это удалил. Сейчас по совету Тани опробовал SQLite. У меня он заработал на Net только выше 4 версии, где собственно ввели команду консоли dotnet. Сейчас последняя 8-я версия Net, но на моем ПК она не работает. 2 дня ковырялся с Windows. В конце даже её переустановил. Ошибка fatal error никуда не делась. В интернете только спрашивают, что за ошибка на 8-ой версии, но никто не знает. Видимо я первый делаю резюме, что Net 8 просто не работает на старых ПК, как у меня ... на сокете LGA 775. 7-я версия Net работает, поэтому уже определился с языком и базой. Кстати кроссплатформенно. Привлёк F#. Тоже есть буковка от фокса и старого фотрана, мелочь, а приятно, и тоже интерпретатор и мощный компилятор. Ну об SQLite вроде нет отрицательных отзывов.
|
| Re: Нужен алгоритм | |
|---|---|
|
AndyNigmatec Сообщений: 1758 Откуда: Волгоград Дата регистрации: 28.06.2015 |
С firebird таких траблов нет, ставится на все )))
И кстати просто скопировать его нельзя - его нужно таки устанавливать, но там не нужно быть админом - тупо дистрибутив запустил. Дополнительно настроить сервак - там уже чутка почитать надо что за что отвечает, но ничего сверхъестественного, если просто поиграться - то вообще ничего крутить не надо, все заработат по дефолту. Что касаемо поломки базы - сколько раз свет рубили никаких проблем не было. Проблема возникла когда винт посыпался - но это для любой базы задница. |
| © 2000-2025 Fox Club  |