powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Альтернатива SQL запросам
25 сообщений из 182, страница 2 из 8
Альтернатива SQL запросам
    #36150298
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТогда я совсем ничего не понимаю.
Что ж тут непонятного? Зачем платить за чужие библиотеки, если без них вполне можно обойтись в своих программах? Если уж нельзя, тогда другое дело придется покупать.

MasterZivНет, не читал.
Почитайте, если будет желание и время. «MFC-04. MMF чтение и создание DBF файлов вместо сериализации для виртуальных списков»
В пятой статье логично для своих программ обеспечить поддержку индексов, В формате VFP потому, что так удобней. В шестой статье будет идти речь о непосредственном подключении и работе с vfp9r.dll / vfp9renu.dll . Затем, может быть, для примера будут взяты безплатные движки БД. Однако, я хочу чтобы моя программа работала как с движками БД, так и без них.

MasterZivА зачем создавать свои собственные индексы, тем более в FoxPro, где
есть и SQL, и не SQL ?
Чтобы иметь возможность юзверю не платить за библиотеки Visual FoxPro (или чтобы мне не требовалось обязательно дистрибутировать их, так как за это нужно платить денежку). Но ежели у пользователя уже есть такие библиотеки (при желании их можно найти в интернете), но он сможет спокойно подключиться к ним и работать на полную катушку. Другое дело, если такая дистрибуция будет окупать себя. Тогда можно будет подумать и об этом. Что касается безплатных библиотек БД, то с ними я пока слабо знаком, но не думаю, что они сильно лучше библиотек VFP (проще говоря, до них еще не дошли руки).

MasterZivИндексы очень сложно сделать лучше, чем они уже сделаны. И там особых
частностей нет. Всё универсальное, и всё одинаковое.
У VFP очень хорошая производительность в их создании, ну просто очень хорошая. Если мне удастся достичь хотя бы 80% это будет очень большой успех для меня. Насчет универсальности не очень согласен. В создании CDX файлов есть много специфики, может быть даже запатентованной, Майкрософт. Кое о чем я веду речь в «Алгоритм создания CDX файлов» . Сейчас я читаю статьи Гоца Грейфа из Майкрософт . Хочу выяснить для себя следующую проблему.

Майкрософт умудряется сохранять физический порядок в индексном файле при разовой вставке / модификации записи без его явного физического переупорядочивания . Если бы внутри файловые указатели CDX файла были бы относительными, а не абсолютными, то этого можно было бы достичь путем вставки нужного сегмента данных в файловый связный список на уровне операционной системы и корректировкой нескольких связей на логическом уровне. Для нас это выглядело бы практически мгновенным (как оно и есть на самом деле). Однако абсолютные внутри файловые смещения в указателях меняют дело. Может быть каким-то образом операционная система может автоматически регулировать эти указатели?

Тот же Гоц Грэйф пишет, что

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

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

MasterZivДа ёлы-палы, если вам нужны алгоритмы и структуры для индексирования,
то это не проблема. Литературы по этому делу навалом.
С теоретическими алгоритмами я знаком, но они не могут объяснить физический порядок индексов в CDX файле, наряду с логическим. Там нигде не идет речь об упаковке данных в индексных листьях также. Так что литературы валом, а практического толку мало. Тот же Алексей Долгачев , который написал библиотеку для работы с dbf / cdx файлами работает только с чужими индексами и не создает собственных. Поэтому и достижений у него немного, собственный грид (который все равно не лучше CListCtrl, особенно для виртуального режима) и утилиты просмотра / редактирования dbf файлов. Стоило ли вообще огород городить?

MasterZivЭто какое такое ноу-хау ?
Ваши слова:
MasterZivВ смысле, я-то знаю, почему может быть быстрее, но ты, видимо, нет.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36150420
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже такой длинный топик, а слово Рашмор еще не прозвучало
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36150533
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftУже такой длинный топик, а слово Рашмор еще не прозвучало
Посмотри ссылку на «Алгоритм создания CDX файлов» чуть выше. Так это слово встречается трижды.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36150860
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно вопрос? а на кой лад нужны альтернативы sql запросам? вот честно? у нас рынок раздулся и программисты не знают как быстрее избавиться от печатания select * from MYSUPERPUPERTOTALTABLE? :)
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36150867
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Волна ORM-* и embed-* мании поднимается каждые 3-4 года.
Пошумит-пошумит и потом утихнет.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36150999
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АСУ ТПшникможно вопрос? а на кой лад нужны альтернативы sql запросам? вот честно? у нас рынок раздулся и программисты не знают как быстрее избавиться от печатания select * from MYSUPERPUPERTOTALTABLE? :)
Вот цитирую самого себя с начала этой страницы: «Что ж тут непонятного? Зачем платить за чужие библиотеки, если без них вполне можно обойтись в своих программах? Если уж нельзя, тогда другое дело придется покупать». Для себя любимого можно и пиратскими копиями воспользоваться, но юзверям надо предлагать безупречное решение. С другой стороны это просто интересно, иначе можно озадачится вопросом Митрофанушки: «Зачем учить географию, если извозчики есть, отвезут куда надо!»
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151154
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmeryБред очень трудно реализовывать в виде серии последовательных статей и демонстрационного кода.
Вы сильно ошибаетесь.

EmeryАСУ ТПшникможно вопрос? а на кой лад нужны альтернативы sql запросам? вот честно? у нас рынок раздулся и программисты не знают как быстрее избавиться от печатания select * from MYSUPERPUPERTOTALTABLE? :)
Вот цитирую самого себя с начала этой страницы: «Что ж тут непонятного? Зачем платить за чужие библиотеки, если без них вполне можно обойтись в своих программах? Если уж нельзя, тогда другое дело придется покупать».
Совершенно верно, зачем платить, если можно взять бесплатные. Хотя об этом уже говорили.

tchingizда вообще, надо уже галерею славы из них делать
Это да. Хотя можно повесить одну доску на всех, все равно похожи как клоны.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151243
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery пишет:

> *Майкрософт умудряется сохранять физический порядок в индексном файле
> при разовой вставке / модификации записи без его явного физического
> переупорядочивания*.

Я опять ничего не понимаю.

DBF имеет записи только фиксированной длины. Т..е файл
-- это массив (регулярная структура) записей. Указатель на запись --
это просто её номер по порядку с начала. Записи никогда из DBF не
удаляются физически. Только логически. Физическое удаление
выполняется только в монопольном режиме захвата файла коммандой
PACK. Добавляются записи тольк в конец. Так что ж сложного-то
в сохранении физического порядка записей ?

> Правда до конца я так и не понял :) .
> Как видите, даже этот пример показывает, что не все так просто. А

Ну, подобные техники опять-таки достаточно распространены в литературе.
Но конечно покопать придётся.

> В смысле, я-то знаю, почему может быть быстрее, но ты, видимо, нет.

Ну, это было совсем не про это, видимо, уже. Я имел в виду,
что преобразование SQL в физические алгоритмы обработки могут
быть не всегда оптимальными, если вы пишите их руками, может
получится выигрыш. Но тоже не всегда :-)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151318
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Совершенно верно, зачем платить, если можно взять бесплатные. Хотя об этом уже говорили.
Зачем брать бесплатные на несколько метров (МБ), если можно не брать и воспользоваться своим кодом на несколько килограммов (КБ)?
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151381
GYGY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Emeryc127Совершенно верно, зачем платить, если можно взять бесплатные. Хотя об этом уже говорили.
Зачем брать бесплатные на несколько метров (МБ), если можно не брать и воспользоваться своим кодом на несколько килограммов (КБ)?

ИМХО - начните лучше с ОС. А то они уже за несколько Гб переваливают.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151429
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emeryc127Совершенно верно, зачем платить, если можно взять бесплатные. Хотя об этом уже говорили.
Зачем брать бесплатные на несколько метров (МБ), если можно не брать и воспользоваться своим кодом на несколько килограммов (КБ)?
Я-бы для начала исследовал возможность использования "того что уже есть" в нормальном Windows XP/Vista. Посмотрите в сторону драйверов MS-Jet (движок Access). Дополнительно, почитайте про MS-SQL Express, особенно про встраивание в приложения. Насколько мне известно, он бесплатен для применения.

Уж коли этих возможностей не будет хватать, тогда следует садиться за разработку чего-то кустарного.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151476
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivEmery пишет:

> *Майкрософт умудряется сохранять физический порядок в индексном файле
> при разовой вставке / модификации записи без его явного физического
> переупорядочивания*.

Я опять ничего не понимаю.

DBF имеет записи только фиксированной длины. Т..е файл
-- это массив (регулярная структура) записей. Указатель на запись --
это просто её номер по порядку с начала. Записи никогда из DBF не
удаляются физически. Только логически. Физическое удаление
выполняется только в монопольном режиме захвата файла коммандой
PACK. Добавляются записи тольк в конец. Так что ж сложного-то
в сохранении физического порядка записей ?
Ну, речь идет не о dbf файле, а об cdx файле. Про dbf вы все правильно пишите. А в cdx ситуация примерно такая. Вставка идет обычным классическим методом в связный список под управлением дерева (расщепление узла и редактирование нескольких логических связей). Физически индексный ключ оказывается в конце, если ему нет места в середине. А дальше начинается «мистика». Если cdx файл достаточно большой, то происходит замещение физической последовательности сегментов файла логической . Об этот как раз и говорит Гоц Грэйф из Майкрософт . Т.е. физическое переупорядочивание файла идет на уровне операционной системы (абсолютное чтение / запись физического диска). Менять содержимое файла (внутри файловых указателей) нет никакой необходимости, так как реально мы имеем дело с аналогом физической дефрагментацией жесткого диска (которое не влияет на содержимое файла). А вот визуально эффект присутствует. Вставка в гигабайтный индексный файл ключа, который логически должен быть в начале, оказывается в начале и «физически». Т.е. просматривая этот файл через любой шестнадцатеричный редактор, мы видим, что «физически» эта запись присутствует в самом начале файла (имеет соответствующее файловое смещение), тогда как ссылка на эту запись говорит, что реально она находится в конце файла.
Вот пример того, что мы имеем на логическом уровне в нашем гигабайтном cdx файле после вставки в него ключа с 70-ю нулями и буквой «z»:

Адрес листа в файле Ссылка на RList Кол-во ключей4096 1023870976 34608 3072 45120 4096 65632 4608 66144 5120 66656 5632 67168 6144 67680 7680 68192 8192 68704 8704 69216 9216 69728 9728 610240 10240 610752 11264 6

До вставки этого ключа была физически и логически упорядоченная структура с 6-ю ключами во всех листовых индексах. А реальное «физическое» представление после вставки этого ключа показано на прилагаемом рисунке.

MasterZivНу, подобные техники опять-таки достаточно распространены в литературе.
Но конечно покопать придётся.
Вот я и «копаю» :) .

MasterZivЯ имел в виду, что преобразование SQL в физические алгоритмы обработки могут
быть не всегда оптимальными, если вы пишите их руками, может получится выигрыш. Но тоже не всегда :-)
Вот эта и есть одна из причин моего «ручного управления» базами данных.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151594
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл добавить, что может быть в этом и заключается один из секретов Рашмора (Rushmore’s secret) ? Правда не совсем понятно, какое преимущество дает «замещение физической последовательности файла логической» ?
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151596
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GYGYИМХО - начните лучше с ОС. А то они уже за несколько Гб переваливают.
Следуя ваше логике, в простенькую программу на 30-50 Кб «напоминателей дней рождения ваших друзей», где всего одна таблица и максимум, что нужно это сортировка и поиск в не более чем 1000 записей (вряд ли у вас больше друзей), нужно обязательно прилепить безплатный движок БД только потому, что он безплатный? А у меня на эту сортировку и поиск в собственном dbf файле уже написано несколько килобайт кода. Так что мне этот код выбросить и обязательно прилепить какой-нибудь sqlite? А если мне этого не хочется делать, так что по этому поводу надо ёрничать? Позвольте другим быть другими и это вам зачтется в будущей жизни!
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151613
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ-бы для начала исследовал возможность использования "того что уже есть" в нормальном Windows XP/Vista. Посмотрите в сторону драйверов MS-Jet (движок Access). Дополнительно, почитайте про MS-SQL Express, особенно про встраивание в приложения. Насколько мне известно, он бесплатен для применения.

Уж коли этих возможностей не будет хватать, тогда следует садиться за разработку чего-то кустарного.
Знаете, провайдеры данных меня не очень устраивают, если уж на то пошло, то меня более привлекают библиотеки коммерческих БД, например, работа напрямую с библиотеками vfp9t.dll / vfp9renu.dll (и другие мои сообщения в этой теме) безо всякой регистрации в реестре. Я уже пытался это делать и имею неплохие результаты (причем с этими dll-ками напрямую никто не работает). Об этом более подробно будет идти речь в моей шестой статье (а сейчас я готовлю пятую). Так что всему свое время .
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151703
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЗнаете, провайдеры данных меня не очень устраивают, если уж на то пошло, то меня более привлекают библиотеки коммерческих БД, например, работа напрямую с библиотеками vfp9t.dll / vfp9renu.dll (и другие мои сообщения в этой теме) безо всякой регистрации в реестре. Я уже пытался это делать и имею неплохие результаты (причем с этими dll-ками напрямую никто не работает). Об этом более подробно будет идти речь в моей шестой статье (а сейчас я готовлю пятую). Так что всему свое время .
Спасибо за ссылку. Почитаю. С Visual FoxPro мне работать не приходилось, хотя я много наслышан о из знаменитом индексе rush more и о скорости выполнения транзакций в однопользовательском режиме.

Смотрели эту ссылку?

А у меня на эту сортировку и поиск в собственном dbf файле уже написано несколько килобайт кода. Так что мне этот код выбросить и обязательно прилепить какой-нибудь sqlite? А если мне этого не хочется делать, так что по этому поводу надо ёрничать? Позвольте другим быть другими и это вам зачтется в будущей жизни!
Здесь, позвольте с вами не согласиться. Для современных систем (слава богу) требования объёма кода в бинарнике уже перестали быть критичными. Прошли те времена, когда надо было в оверлейный буфер пихать всю возможную логику. Поэтому мне кажется большее внимание стоит обращать на то, как софт использует и освобождает heap memory и какие механизмы управления этим предоставляет.

По поводу ёрничания. Вы взяли на себя смелось написать статью в популярный портал разработчиков. Это - большая ответстсвенность. Вы - несёте "своё" учение. Многие неокрепшие умы после прочтения этого материала перестанут быть "другими" и начнут думать как вы.

P.S. Поэтому не обижайтесь на пристальное внимание и критику.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151786
Фотография битый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery SQL queries alternative

Утверждается, что в некоторых случаях можно работать с огромными базами данных, в которых все предсказуемые SQL запросы могут быть заменены своими эквивалентами, типа как в Clipper’e, так чтобы не терять существенно в производительности.

Здесь опубликована часть будущей статьи для обсуждения.

Август 2009 года

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

Говоря кратко, альтернативой SQL запросам могут служить два основных метода:

1. Индексация данных.
2. «Проводка» данных или дублирование данных в другом (нужном) порядке.

Вообще говоря, сюда следует записать еще такие достаточно «очевидные» утверждения, как

3. Оптимальная организация базы данных.
4. Использование циклов для фильтрации и выборки данных, там, где это эффективно .

Речь идет не столько о принципиальной возможности избежать использования операторов SQL запросов (думаю, это вполне очевидно), а об альтернативе, которая сопоставима по производительности с SQL запросами провайдеров данных и внешних библиотек баз данных . Понятно, что ценой этому будет строгая структура и достаточно жесткий порядок работы с нашей базой данных и, особенно, дополнительный (избыточный) объем данных , который мы вынуждены будем задействовать, чтобы избежать «лишних» запросов.

Используя эти методы можно вполне отказаться от непосредственного использования SQL запросов , а, следовательно, привлечения определенного «движка» (сервера) базы данных. Тем не менее, сервер баз данных может пригодиться для выполнения редких, непредсказуемых операций, эмуляция которых данными методами может занять слишком много времени, например, для разового преобразования данных, либо для «экзотического» экспорта – импорта . Однако особо следует отметить организацию разделенного (совместного) доступа к данным с помощью внешних библиотек баз данных . Программировать это самим достаточно трудно. Другое важное применение сервера БД это минимизация объема (дублирования) данных, за счет использования SQL запросов , ну и, конечно же, это защита данных и разделение полномочий и привилегий доступа к данным . Данные методы эти задачи просто не решают. Тем не менее, даже скромные возможности индексации, проводок, оптимизации и циклов достаточно интересны, чтобы рассмотреть их подробнее на данном этапе.

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

Пока ограничимся кратким замечанием по поводу «правильной» структуры данных . Очень важно четко понимать организацию своей базы данных. Скажем, для учетных задач можно выделить первичные и вторичные таблицы. Первичные таблицы (справочники) служат для определения объектов , например, сотрудника, контрагента, фирмы, банковского счета и т.д. А вторичные таблицы определяют отношения между объектами (операции) , например, документы прихода, расхода, перемещения, переоценки или списания ресурсов и т.п. Далее важна правильная структура подчиненных таблиц (отношение один ко многим) и ссылок на записи (элементы, объекты) других таблиц (отношение многие к одному) . Затем нужно четко контролировать дублирование данных и проводки на их основе . Желательно вместо копирования данных использовать ссылки на них. А при изменении базовых элементов отслеживать зависимые вычисления, особенно для уже проведенных документов . Полезно также для дублированных данных установить режим «только чтение» . Но к этому мы еще вернемся, когда наша демонстрационная программа достигнет соответствующего уровня развития и мы сможем говорить, например, об учете ресурсов более предметно.

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

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


Следующим пунктом идет «Алгоритм создания CDX файлов» , тоже незаконченный фрагмент статьи. Тем не менее, думаю, что для обсуждения материала достаточно. Единственное. Что не надо думать, что я пытаюсь «отменить» промышленные базы данных . По сути, речь больше идет [b]о «ручном управлении» в частных случаях[b], интересных нам как программистам.
Был когда популярен Btrieve. Сейчас есть и его бесплатный open source вариант.
Не пошло, понимаешь. Очень трудно потом поддерживать и изменять данные.
Даже Pervasive сделал свой SQL.
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151840
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery пишет:

> Я имел в виду, что преобразование SQL в физические алгоритмы обработки могут
> быть не всегда оптимальными, если вы пишите их руками, может получится
> выигрыш. Но тоже не всегда :-)
>
>
> Вот эта и есть одна из причин моего «ручного управления» базами данных.

Ты про неё не говорил до сих пор ни слова.

Не, ну я тоже не понимаю, зачем изобретать свой велосипед.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151852
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery пишет:

> Да, забыл добавить, что может быть в этом и заключается один из
> *секретов Рашмора (Rushmore’s secret)*? Правда не совсем понятно, какое

Rushmore -- это технология применения индексов для выполнения запросов,
а не технология организации индексного файла.

> преимущество дает *«замещение физической последовательности файла
> логической»*?

Да мне тоже не понятно, о чём ты. Там описываются обычные
методики организации индексного дерева.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151933
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmeryGYGYИМХО - начните лучше с ОС. А то они уже за несколько Гб переваливают.
Следуя ваше логике, в простенькую программу на 30-50 Кб «напоминателей дней рождения ваших друзей», где всего одна таблица и максимум, что нужно это сортировка и поиск в не более чем 1000 записей (вряд ли у вас больше друзей), нужно обязательно прилепить безплатный движок БД только потому, что он безплатный? А у меня на эту сортировку и поиск в собственном dbf файле уже написано несколько килобайт кода. Так что мне этот код выбросить и обязательно прилепить какой-нибудь sqlite? А если мне этого не хочется делать, так что по этому поводу надо ёрничать? Позвольте другим быть другими и это вам зачтется в будущей жизни!

То, что Вам интересно в этом ковыряться - это понятно. Не очень понятно, как Вы собираетесь все это применять. В смысле оммерческого использования. Для "«напоминателей дней рождения ваших друзей», где всего одна таблица и максимум, что нужно это сортировка и поиск в не более чем 1000 записей " - можно вообще обойтись текстовым файлом для хранения, потом все операции в памяти. Какие тут нужны индексы? Для задач, требующих большей производительности, как уже говорилось, есть куча продуктов, в т.ч. бесплатных...

Так что +1. Зачем изобретать велосипед?

ЗЫ Про ОС - тоже + 1. :-)
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151937
quazare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
моя напоминалка др весит 4 кб., без базы.
-------------
Sapienti sat!
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151945
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСмотрели эту ссылку?
Смотрел, только у меня между 4-й и 5-й статьями стоят другие задачи. Вы можете для себя не воспринимать концепцию, изложенную в этой теме. Только традиционные устоявшиеся взгляды в программировании не отменят ее значения. Я говорю не просто так, у меня на работе это метода (пока только частично) задействована профессионально и приносит очень хороший эффект и для меня и для предприятия. Правда, пока это не связанно с С++, на который я ныне ориентируюсь. Вообще-то я по жизни программирую не стандартно, однако это не мешает мне получать хорошие результаты «малой кровью».

maytonЗдесь, позвольте с вами не согласиться. Для современных систем (слава богу) требования объёма кода в бинарнике уже перестали быть критичными. Прошли те времена, когда надо было в оверлейный буфер пихать всю возможную логику. Поэтому мне кажется большее внимание стоит обращать на то, как софт использует и освобождает heap memory и какие механизмы управления этим предоставляет.
Опять же, «два юриста – три мнения», как говорил наш любимый Михаил Сергеевич. Пусть даже так, с этим никто не спорит. Однако, вопрос то в другом, писать программы так, чтобы получать от этого еще и удовольствие . Лично меня не прикалывает слепое поклонение SQL серверам, хоть платным, хоть бесплатным. До сих пор я применяю файл – серверную технологию доступа к данным, вместо клиент –серверной. И ничего, на моем предприятии все прекрасно работает. И перейду я на клиент – сервер только тогда, когда почувствую в этом внутреннюю потребность, а не внешнее «принуждение».

maytonПо поводу ёрничания. Вы взяли на себя смелось написать статью в популярный портал разработчиков. Это - большая ответстсвенность. Вы - несёте "своё" учение. Многие неокрепшие умы после прочтения этого материала перестанут быть "другими" и начнут думать как вы.
Вы, наверное, любите пафосный тон? :) . Интересно, а соседние 25 тысяч статей «в популярном портале разработчиков» не влияют на «неокрепшие умы»? Или на них действуют только мои статьи? Может быть, тогда в них рекламу разместить, чтобы покупали «сникерсы»? Глядишь, мне какой-то процент отчислений пойдет :) ? Не думаю, что это серьезно. С таким же успехом вы можете сказать, не пишите глупости в интернет, их могут читать дети! И пишут и читают и ничего, мир не рухнул. Вообще-то это надо очень постараться, что получить влияние на массы за счет пропаганды своих идей. Для многих это запредельная мечта. Думаю, интернет это вообще хорошее противоядие на информационную отраву. У людей возник такой стойкий иммунитет к информации, что их уже ничем не проймешь. А у кого еще не возник, по малоопытности, то возникнет. Так что собака зарыта в другом месте, а не в этом :) .

maytonP.S. Поэтому не обижайтесь на пристальное внимание и критику.
Да я не обижаюсь, поскольку конструктивной критики как таковой почти нет. Есть элементарное несогласие с моей точкой зрения. Мол, у меня есть своя точка зрения, значит ваша не правильная! А это мы проходили уже не раз, чтобы обижаться. Я ведь соглашаюсь с вашими точками зрения и не пытаюсь «отменить» их, ибо понимаю причины, почему вы так думаете. Но сам я думаю по другому (иногда :) ).
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151990
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
битыйБыл когда популярен Btrieve. Сейчас есть и его бесплатный open source вариант.
Не пошло, понимаешь. Очень трудно потом поддерживать и изменять данные.
Даже Pervasive сделал свой SQL.
Ну и что из этого следует? Для любой популярной программы есть тысячи клонов. Одних только решений автоматизации предприятий предлагают сотни фирм. И сотни тысяч программистов – сотрудников фирм пишут для своих контор свои варианты учета на предприятии. И что? И ничего! Я тоже пишу свой вариант. Если бы помалкивал, то и вопросов бы не было. Но вот решил пообщаться с народом на эту тему, а «народу» это не нравиться. Ну не нравиться, могу и не говорить. Это что решение вопроса – загонять его в угол?
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36151991
GYGY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmeryGYGYИМХО - начните лучше с ОС. А то они уже за несколько Гб переваливают.
Следуя ваше логике, в простенькую программу на 30-50 Кб «напоминателей дней рождения ваших друзей», где всего одна таблица и максимум, что нужно это сортировка и поиск в не более чем 1000 записей (вряд ли у вас больше друзей), нужно обязательно прилепить безплатный движок БД только потому, что он безплатный?

ИХМО - для этого и DBF то не нужен

Emery
А у меня на эту сортировку и поиск в собственном dbf файле уже написано несколько килобайт кода. Так что мне этот код выбросить и обязательно прилепить какой-нибудь sqlite? А если мне этого не хочется делать, так что по этому поводу надо ёрничать?

Статья в начале топика - это оправдание этого утверждения?
...
Рейтинг: 0 / 0
Альтернатива SQL запросам
    #36152028
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivEmery пишет:> Вот эта и есть одна из причин моего «ручного управления» базами данных.

Ты про неё не говорил до сих пор ни слова.
Так я много о чем еще не успел сказать! Просто не было повода.

MasterZivEmery пишет:Не, ну я тоже не понимаю, зачем изобретать свой велосипед.
Это не «велосипед», а «тренировка».
...
Рейтинг: 0 / 0
25 сообщений из 182, страница 2 из 8
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Альтернатива SQL запросам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]