|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Svyatoslav Abramenkov 2:464/8088.100 19 Mar 2004 11:37:59 To : Maxim Timofeyev Subject : небольшой POP3-сервер помощнее popa3d -------------------------------------------------------------------------------- At 19 Mar 04 01:34:35, Maxim Timofeyev wrote to Svyatoslav Abramenkov: SA>> Кстати, на P100/24M под FreeBSD 4.X postgresql работает заметно SA>> медленнее mysql на аналогичных простых задачах. MT> 24Mb... Хм. А чего ты на такой крутой машине делаешь? Hа этом у моего друга (он сам как раз и занимается базами на PostgreSQL) в филиале крутится небольшая база с несколькими тысячами записей, канал в центральный офис, и, кажется, samba. Изначально там было 16М, я ему помог двумя SIMM по 4М, и там стало 24М, задержка ответа на SQL запрос уменьшилась раза в 2-3. MT> Первый вариант вышеописанный базы, когда в ней было еще всего 150000 MT> записей, у меня работала на 32Mb. После этого весь дизайн базы был MT> изменен и несколько денормализован для увеличения производительности. MT>>> VACUUM FULL блокирует таблицу. Чего же ты хочешь. Или ты VACUUM FULL MT>>> каждый час прменяешь? ;) SA>> У меня были вставки счетчиков из IPCHAINS каждые 5 минут. В SA>> результате там ТАКОГО навставлялось при пуржении записей полугодичной SA>> давности с уменьшением размера занимаемого таблицей места... MT> В смысле была нарушена целостность самих данных или что-то еще? Я уже не помню, надо исходники смотреть. Сбивались временные метки в поле типа TIMESTAMP. Перед вызовом time() в перловом скрипте была выборка из другой таблицы, кажется, дело в этом, она, видимо, тоже блокировалась полностью, и этот запрос не проходил, ну, значит, надо было time() в другом месте поставить. SA>> mysql, кстати, уменьшает занимаемое таблицей место без аналога SA>> принудительного VACUUM FULL, сам, что мне, собственно, и было нужно. MT> Мне MySQL не нравится, хотя API понравилось больше, нежели у PostgreSQL. Из perl к ним API почти одинаковое, за исключением некоторых особенностей, которые я предпочитаю не использовать, чтоб не иметь проблем с переходом на другое хранилище при необходимости. И, что в свое время для меня было существенным, MySQL работает и устанавливается примерно одинаково просто и быстро как под win32, так и под любую другую систему, на которой он работает, есть "several clicks installer" под win32, для PostgreSQL я такого в то время не видел, нужно было еще всякую дополнительную фигню отдельно лепить, (UNIX sockets, кажется?) и без Cygwin оно не работало вовсе. Опять же, на любом хостинге, где дают CGI, почти наверняка есть mysql 3.23.xx, и ничего другого. Я в курсе отличий postgresql, знаю, что приятного там можно написать на том же PL/SQL, и другие возможности тоже изучал. Hо они мне пока что без надобности в большинстве случаев, обхожусь более простыми решениями. Что до того, чтобы обойтись .dbm - я просто не в курсе этого API, но мне кажется, что там придётся конструировать вывод запроса вроде SELECT f.ID, b.NAME FROM FOO AS f, BAR AS b WHERE b.ID=f.GOOD AND f.ID>153, сделав вручную сначала отбор записей из таблицы FOO, а затем искать для каждой отобранной записи NAME в BAR, а вот этим мне как раз заниматься и не хотелось бы. Хотя пользователей в такого рода БД держать - в самый раз, во всяком случае, это надёжнее, чем иметь отдельно запущенную СУБД. -- Svyatoslav <absolute_sh@mail.ru> [Registered Linux user #219421] --- QDed/Linux * Origin: AbSolute Soft&Hard (2:464/8088.100) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/4590005ab184.html, оценка из 5, голосов 10
|