Управление несколькими базами данных MySQL 1 ГБ с вводом данных из приложения PHP - PullRequest
3 голосов
/ 09 декабря 2011

Я создаю приложение, которое использует MySQL и PHP.У моего нынешнего провайдера веб-хостинга ограничение размера базы данных MySQL составляет 1 ГБ, но мне разрешено создавать много баз данных размером 1 ГБ.Даже если мне удалось найти другого веб-хостинг-провайдера, который бы позволял создавать большие базы данных, мне интересно, как целостность и скорость данных влияют на большие базы данных?Лучше ли держать базы данных маленькими с точки зрения размера диска?Другими словами, каков наилучший метод хранения одних и тех же данных (всего текста) от тысяч пользователей?Я новичок в разработке и планировании базы данных.В конце концов, я бы предположил, что единая база данных с данными тысяч пользователей вырастет в неэффективную и оптимально распределит данные между небольшими базами данных.У меня правильно?

В связанной заметке, как моё приложение узнает, когда нужно создать другую таблицу (или переключиться на другую таблицу, созданную вручную)?Например, если бы у меня была 1 база данных, заполненная 1 ГБ данных, я бы хотел, чтобы мое приложение продолжало работать без каких-либо задержек в обслуживании.Как бы я контролировал ввод данных из 1 таблицы во вторую, вновь созданную базу данных?

Аналогично, если пользователь присоединяется к веб-сайту в 2011 году и создает 100 записей информации, а тысячи других пользователей делают то же самое., а затем база данных объемом 1 ГБ заполняется.Позже этот первоначальный пользователь добавляет еще 100 записей, созданных в другой базе данных объемом 1 ГБ.Как мой PHP-код узнает, какую базу данных нужно запросить для 2 наборов из 100 записей?Будет ли это каким-то образом управляться автоматически на стороне MySQL?Нужно ли управлять этим в PHP-коде, если бы операторы IF / THEN / ELSE?Это услуга, которую предлагают некоторые провайдеры веб-хостинга?

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Это очень абстрактный вопрос, и я не уверен, что универсальный стекопоток - подходящее место для этого.

В любом случае. Каков наилучший метод хранения? Как насчет: в файле на диске. Имейте в виду, что база данных - это просто прославленный файл, в котором есть причудливые команды чтения и записи.

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

Чтобы ответить на ваш второй вопрос, если вы все же будете использовать подход с базой данных, вам нужно будет настроить систему для «миграции» пользователей из базы данных в другую, если она заполнится. Если вы достигли 80% от 1 ГБ, начните миграцию пользователей.

Определение размера базы данных является сложной задачей. Вы могли бы, я полагаю, посмотреть на файлы RAW на диске, чтобы увидеть, насколько они велики, но, возможно, есть более умные способы.

0 голосов
/ 30 ноября 2012

Я бы посоветовал использовать SQLite как лучший вариант в вашем случае. Он поддерживает базу данных объемом 2 терабайта (2 ^ 41 байт), и лучше всего то, что он не требует установки на стороне сервера. Так что это совместимо везде. Все, что вам нужно, это библиотека для работы с базой данных SQLite.

Вы также можете выбрать свой хост, не обращая внимания на то, какие базы данных и размеры они поддерживают.

...