Пара вопросов по работе с большими объёмами данных. Делать файлы или БД ?

sandros

Новичок
Пара вопросов по работе с большими объёмами данных. Делать файлы или БД ?

привет.

1) У меня на сервере будет находиться множество сайтов наподобие аккаунтов на фрихосте, где на каждом домене могут быть десятки тысяч аккаунтов в виде диров или субдоменов. Подскажите плиз., как лучше в плане нагрузки на железо и скорости работы, организовать эту структуру - сделать для каждого сайта отдельный файл с содержимым либо всё хранить в базе данных?
Причём, на каждый сайт будет ориентировочно 4-5 файлов с настройками и содержимым для вывода (сайты динамические и диров не будет, а через mod_rewrite сделано). Таким образом суммарно это до 300-500 тыс. объёмов данных, с которыми нужно активно работать (выводить, добавлять, удалять).

Ответьте плз, только как оптимально хранить - файлы или база данных? Если база - то какая?

2) Нужно использовать для работы несколько текстовых файлов, размером по 5-10Мб каждый. К ним будет обращаться скрипт, например 10.000 раз за короткий промежуток времени (час или около того), искать в них и забирать часть информации. Где лучше содержимое этих файлов разместить?
а) в одном большом файле
б) разбить на десяток мелких
в) в базе данных и обращаться к ней

Главные критерии для этих задач - скорость рабобы, надёжность, удобство и разумная простота создания. Ответы можно кратко, без нюансов, так как это нужно для написания тех. задания программистам.

Большое спасибо за ответы.
 

Сергей Тарасов

Профессор
Если файлы мелкие - то можно в БД.
Если 5-10 Мб каждый (X 300/500 000), то однозначно в файлах. Дело в том, что наличие таких больших записей сильно затормозит сервер БД.
В БД лучше хранить пути к файлам, возможно какие-то еще параметры...
 

Фанат

oncle terrible
Команда форума
Сергей Тарасов
может быть, ты поучишься читать вопросы?
искать в них и забирать часть информации. Где лучше содержимое этих файлов разместить?
эти слова тебя ни на какие мысли не наводят? нет? очень жаль.
 

bgm

 
БД. А вот какая - это уже вопрос более серьёзного анализа.
Firebird, PostgreSQL, Oracle и т.д. - выбор будет зависеть от нюансов.
 

Сергей Тарасов

Профессор
На столь агрессивные и безапиляционные советы приведу цитату из официального руководства по MySQL:

5.4.2. Сделайте объем данных как можно меньше

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

Чтобы увеличить производительность работы с таблицей и минимизировать требуемое пространство памяти, можно применять перечисленные ниже технические приемы:

Используйте по возможности наиболее эффективные (наименьшие по объему) типы данных. В MySQL имеется много специализированных типов данных, применение которых позволяет экономить пространство на диске и в памяти.


И т.д.
 

baev

‹°°¬•
Команда форума
Сергей Тарасов, похоже, сейчас топик «Советы нашего эксперта по оптимизации MySQL» появится...
 

Фанат

oncle terrible
Команда форума
Нет, не появится.
потому, что топики про экспертов делаю я, но в базах данных некомпетентен.
Здесь надо подождать таких людей, как chira, si, Апельсин...
Мне бы и самому было интересно послушать, что они скажут
 

si

Administrator
я не очень понял вообще что надо автору что по первому вопросу что по второму и причем тут базы данных. если уже чтото сделано через rewrite и видимо без базы. понятно что любая динамика будет требовать больше ресурсов чем статика. да и по второму вопросу вообще каша какаято.
 

baev

‹°°¬•
Команда форума
Хм.

А при чём тут оптимизация базы вообще?
Автору искать данные надо, он и спрашивает, где эти данные «лучше» найдутся — в базе или файлах.

База данных — те же файлы, но уже «оптимизированные для поиска».
 

Mich

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

si

Administrator
База данных — те же файлы, но уже «оптимизированные для поиска».
я видел как люди делают в таблице все поля типа text и держат там int, date и т.д.

-~{}~ 07.03.06 22:35:

Mich
что там надо было увидеть ? обычные желания чтобы все было просто, летало и было бы дешего.
 

Сергей Тарасов

Профессор
baev
Оптимизация здесь при том, что БД с записями порядка 10-15 МБ будет слишком перегруженной. И поиск и все прелести SQL, которые хочется применить автору будут выполнятся ОЧЕНЬ медленно и тормозить весь сервер БД.

Не буду навязывать свое мнение. Читайте цитату из официального руководства. Выбирать вам!
 

baev

‹°°¬•
Команда форума
БД с записями порядка 10-15 МБ
Где Вы увидели записи такого размера?
У автора файлы, из которых нужно выбирать информацию, имеют размер 5-10Мб.
И он хочет эти файлы разбить на множество маленьких...

В общем:
может быть, ты поучишься читать вопросы?
 

si

Administrator
У автора файлы, из которых нужно выбирать информацию, имеют размер 5-10Мб.
вот пусть они файлами и будут. зачем они такие большие если их можно разбить ? гадать можно сколько угодно ... короче автор явно чтот пытается скрыть (не договорить)
и вот додумывать что там у него и как должно работать я лично возможности/желания не имею. что-то конкретное то такому описанию лично я не в силах, так что либо пусть конкретизирует задачки либо идет к гадалке ...
 
Сверху