База данных MySQL
mysql.igw999.com

 

 

| Интересно |

Сегодня - 14 November 2018


| Популярное |

 


| Статистика |


 

 

 

 

База данных для хранения больших данных?



Andrew
База данных для хранения больших данных?
Обдумываю один свой интернет-сайт, суть такая, Каждый день или чуть реже нужно будет обновлять данные для 5-40 млн записей, и эта цифра будет постоянно расти, каждый месяц примерно на 5-10% записей в таблицу будет добавляться. \ На базу данных будут примерно такие нагрузки: - поиск - есть ли запись в базе данных с указанным названием, если есть то обновляем данные там. Т. е. перед тем как добавить запись (а их напомню - вначале будет 5-40 млн и будут постоянно возрастать) будет проверять есть она в базе данных и добавлять/обновлять данные. Функция очень нужная и массовая, поэтому не хотелось бы чтобы она выполнялась дольше 0,1 секунды. - поиск по базе данных с указанными параметрами (например, чтобы такой-то параметр был больше указанного значения и подобные условия) и эта функция будет достаточно часто использоваться (в общем количестве раз 100 в день, и в последующем будет только увеличиваться многократно в зависимости от количества пользователей сайта). Тут такая скорость не так критична, но тоже должна быть относительно быстрая (максимум скажем можно 5-20 секунд ) Хочу узнать какими способами можно организовать структуру хранения большой информации ? Какую базу данных выбрать? Подойдет ли MySQL для этих задач?


Ответы:

Jurijus Zaksas
40 миллионов записей с приростом 10% в месяц через год дадут 125М, через 5 - 12 миллиардов. Дело пахнет Терадатой и соотв. железом.

Татьяна Шеховцова
Сервер, как понимаю, будет свой и причём не один, с такими-то запросами Скорость критична... Сама бы посмотрела в сторону nosql СУБД (вот какую именно из них брать - не скажу, не мониторила вопрос) MySQL однозначно не подойдёт, как и все остальные бесплатные реляционные СУБД. Насчёт платной Oracle сомневаюсь, возможно и выдержит

Андрей
Да, MySQL (точнее, MariaDB или Percona Server - форки имеют лучший функционал, чем оригинальная MySQL) вполне потянет. Но я бы предложил присмотреться к PostgreSQL. Кстати, операция "вставка или замена" в MySQL делается одной командой: INSERT ON DUPLICATE KEY - безо всяких поисков и проверок. Есть ещё REPLACE, но эту команду лучше не использовать. 100 млн. записей - это не такие уж и большие данные. Но более чем достаточные для того, чтобы всерьёз заняться оптимизацией структуры базы данных. Прежде всего: индексы, секционирование (partition) и репликация. Индексы ускоряют поиск (только те запросы, которые используют эти индексы) но замедляют вставку / изменение. Индексы - всегда компромисс. Продуманное секционирование ускоряет работу с данными, но не совместимо с внешними ключами - поддержание целостности данных перекладывается на тебя. Репликация позволяет разнести поиск и изменение данных по разным экземплярам базы данных. Но для этого нужно несколько серверов. P.S. О многоуровневой системе не задумывался? Когда меняющиеся данные заливаются в маленькую оперативную базу, а уже из неё постепенно переносятся в большое хранилище.

Chrono
Если вам не нужны джойны, а только хранение и получение, то можете ради интереса попробовать MongoDB. У меня на ней сейчас крутится около 4 терабайт данных. Она быстра (особенно когда куча оперативы на сервере) , много всего держит в буфере памяти и поиск идет очень шустро (при правильном индексировании данных). Легко расширяема (как горизонтально, так и вертикально) за счет шардинга (аналог партиционирования РСУБД) , так же есть надежные механизмы по отказоустойчивости. Еще большой плюс в сжатии данных на диске (4 терабайта физически в дата файлах на диске занимают около 600 Гигов, при использовании 'быстрого' сжатия, второй тип сжатия, который позиционируется как более основательное, но более медленное я не тестировал, этого за глаза хватает ) В целом 50 млн записей учитывая кол-во полей если в среднем взять по 1 КБ -> 50 Гигов даты -> после сжатия (коэф сжатия на быстром режиме примерно в 8 раз) -> 6 Гигов на диске. Выйгрыш в поиске будет еще в том что операции чтения с диска самые медленные, соответственно меньше данных на диске, меньше операций чтения, т. е. надо будет читать меньше дисковых блоков с данными




| Меню |

Главная
MySQL: Когда используют полнотекстовый поиск?
Нужна помощь в Mysql. Помогите, пожалуйста.
Есть ли в MYSQL такая вещь, как курсор?
не получается подключится к базе данных
создание базы Mysql
Помогите пожалуйста. Я новичок и не могу решить проблему самостоятельно.
Импорт (загрузка) Excel файла в phpMyAdmin
MYSQL почему 2 простых джойна очень сильно замедляют скорость?
Где находятся базы данных OpenServer
Недостаточные или не полные сведения о ключевом столбце. Обновление влияет на слишком большое число строк!
Как убрать повторы в Access?
почему не выводит введённое в базу данных значене?
База данных для хранения больших данных?
Помогите к приобретении хостинга Нужен хороший хост, под кардинг форум, подскажите где приобрести
MYSQL как посчитать среднее значение из строки?
Может ли MySql сравнить значение переменной с переменной-строкой в таблице?
Как вытащить в переменную значение поля из базы данных?
Как сделать выплаты ручными?
"Эту задачу решит уверенный junior" у кого какие предложения, нужен только КОД!
Пожалуйста, помогите с кодом. Нужно получить сумму результатов «Total1» и «Total2» в запросе SQL на Libre Office
База данных Access отдела компьютерной техники в магазине
как сделать запрос к базе данных на удаление картинки из сервера? Чтобы с сайта можно было удалить картинку из сервера.
Mysql команда в маке не работает. так же мамп не подключается к бд. в чем может быть проблема???
помощь по sql, помогите пожалуйста!
Здравствуйте, нужен sql запрос для адресной строки
Как расшифровать пароль админа?
Информатика тема битов
Можно ли комфортно работать с MySQL через консоль? Или всё таки лучше не лениться и поставить phpMyAdmin?
Ошибка при подключении базы Mysql
как установить звёздный рейтинг на сайт?
Написать запрос SQL
Как исправить данную ошибку с MySQL Workbench?
Что это значит в запросе Mysql? && ||
Создать представление, содержащее список групп и количество студентов в группе.
Как изменить character_set_client utf8mb4 на utf8?
Помогите Пожалуйста - Mysql .htaccess - при вызове INSERT в базу записывается 2 записи
Как правильно написать sql запрос в Access?
Подскажите, транскрипцию слов в татарском языке: куян, кыр, ком, канат, кумэч, чэчэк, камыр, кэймэ, кэбэстэ, кисэ, курэ.
Ошибка с первичным ключем
Ребят, такая фигня. У меня есть база где сохраняются аккаунты, пароли, а пароли в зашифрованном виде, к примеру: 5b906fb
Нужна помощь в Mysql. Помогите, пожалуйста.
Нет соединения с базой данных. Запутался
Вставка записей в таблицу SQL
как выполняется сортировка столбца по некоторому параметру
Как передать сайт c Wordpress клиенту без лицензионных шаблонов и виджетов?
Помогите решить задачи с SQL таблицами
Непонятные иероглифы в Pawno
Подсчет количества и средней цены изданий, в написании которых приняли участие авторы имеющие контракт
Вывод всех сведений об авторах изданий, содержащих в названии слова с корнем "дом"?
Помогите исправть в Бд ошибка какакя-то я не знаю не подключается!
При запуске выпадает ошибка
Mysql сложный запрос выборки, помогите
FastReport выполнить ВЫБОРКУ в самой программе, как?
при установке WP пишет Ошибка базы данных WordPress ниже подробности
SQL. Запрос с подзапросом
Помогите разработать схему баз данных
Перенос сайта (БД, SQL, .bak)
Привет всем! Хочу изучать базы данных.
Помогите написать скрипт
Возможна такая ситуация? И как с этим бороться?
phpmyadmin - могу ли я экспортировать БД по частям определенного размера (2000КБ)?
Тем, кто разбирается в Samp`е и Mysql
Сумма элементов в связанных таблицах. mySql
При установки IPB форума ошибка !
Помогите с запросом
Почему не выводит запись?
Можно ли в MySQL выбрать только те поля, у которых значение не NULL
Ошибка в slq запросе
Как установить гео-базу Maxmind в Keitaro TDS?
Что значит это: 6ece7d2be3d60dd7ea5834a3bc734815? Это не MD5 код!!! Я взял это из базы данных mysql в структуре "Пароль"
Зачем сайту нужна phpmyadmin если есть папки с файлами на хостинге. Или это не одно и тоже ?
Ребята хочу узнать сколько стоит подписка в play key?
Написать SQL запрос
Написать запрос SQL
Подскажите как изменить SQL запрос?
вопрос знающий есть файл где выполняется много запросов в основном подсчеты
Помогите пожалуйста срочно!
5ти звездочный рейтинг
Помогите найти литературу или статьи по Create FUNCTION, create PROCEDURE в ORACLE.
На сколько сильно нормальные формы снижают производительность сайта с базой данных?
попытка номер 3 нужно дописать конструкцию замаялся
вопрос знающим кто не может помочь не отвечайте
нужно дописать конструкцию запроса описание внизу
Триггер на копирование из одной бд в другую.
Ошибки при установке OpenCart
Как присоединить MySQL базу к серверу.
Правильно ли я составил базу?
Что такое схема таблицы в SQL? Как её посмотреть в MS SQL Server? Как сравнить 2 таблицы по схеме?
Как можно импортировать данные из Excel-таблицы в БД MySQL?
Есть запрос на выборку, нужно вывести только те, которые больше 50


 

 

 


Copyright © mysql.igw999.com 2017-2018. Designed by Vopio Design.