Вход:  Пароль:  
FreeSource: SQLite/AWK ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

SQLite, несомненно, очень замечательная СУБД для своего сектора (а это 80% всех обыденных задач, для которых обычно юзались всякие DBF и Клипперы с Фокс Прами?), но...


Есть такая незаслуженно малоизвестная штука, как AWK (gawk, nawk) — гениальный по своей идее и эффективности обработчик разных логов и прочих регулярных текстовых файлов.


Задания для AWK обычно состоят из одной строки и заменяют (в сходной области применения) тексты на других языках размером в страницу или несколько. Рискну утверждать, что 80% задач общего назначения, для которых сисадмины обычно юзают БД или ваяют код на Perl / C++ /..., реально проще сделать на AWK — в одну или несколько строк, возможно с конвейером, прямо в командной строке ;)


А как при этом увеличивается СКОРОСТЬ!... Даже на довольно слабых машинках! SQLite весьма шустра — но перевод с нее обработки статистики net-acct на AWK подстегнул мою задачу на порядок — с 30–40 минут до примерно 3–5 минут (т.е. за это время старый P-266/128Mb распаковывает, разгребает, сортирует, суммирует и оформляет в итоговые веб-странички около 400 метров логов).


Hint: если ваша задача навскидку, теоретически может быть решена чтением в один проход по обрабатываемому файлу, то для СУБД в принципе работы нет, а сильная экономия может быть достигнута использованием AWK за счет исключения двух-нескольких лишних (прожорливых!) дисковых операций — собственно загон данных в БД, индексация и последующий вывод с обработкой. Опять же двойной-тройной объем на диске и возможно в памяти...


P.S. Ни в коей мере не хочу умалять достоинства SQLite! Просто иногда более удачное решение можно найти еще на этапе постановки задачи.


Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]