MySQL кластера таблица заполнена, обходной путь? - PullRequest
0 голосов
/ 13 апреля 2011

Мы пытаемся добавить несколько ТБ в MySQL Cluster, к сожалению, индекс не помещается в память.

Есть ли способ преодолеть это ограничение mysql?

Есть ли способ параллельного выполнения операций в диапазоне процессов mysql?

Мои данные имеют 3D-точки: (id x y z idkey someblob) внутри MYisam со 128 разделами. NDBCLuster не смог загрузить данные из-за ограничений памяти.

индексирование идет по idkey (это предварительно вычисленный ключ Пеано-Гильберта). Общее количество строк составляет около 10 ^ 9.

Спасибо, Арман.

EDIT моя установка - 2 датода, 2 mysqld, один mdm. 8 ГБ ОЗУ на ndb с 4 ядрами.

Вся система имеет 30Tb Raid6.
Система linux Scientific LInux 6.0, кластер 7.1 скомпилирован из исходного кода.

Ответы [ 3 ]

0 голосов
/ 14 июля 2011

Возможно, вы можете попробовать изменить файл config.ini.

DataMemory=15000M
IndexMemory=2560M

Но если два значения слишком велики, вы столкнетесь с этой ошибкой: невозможно использовать из-за неправильного выравнивания растровых страниц !!

Так что я все еще пытаюсь ее решить.Удачи.

0 голосов
/ 24 июня 2016

Я столкнулся с той же проблемой, когда загружал только структуры таблиц БД.Что означает, что DataMemory или IndexMemory не помогли здесь.Также количество таблиц не достигло предела в MaxNoOfTables, так что это не проблема.Решением для меня было увеличение значений для MaxNoOfOrderedIndexes и MaxNoOfUniqueHashIndexes, которые отражают максимальное количество индексов, которые вы можете иметь в кластере.Поэтому, если в вашей БД много индексов, попробуйте соответственно увеличить эти переменные.Конечно, после этого изменения необходимо выполнить скользящий перезапуск !

0 голосов
/ 15 апреля 2011

Похоже, что MySQL плохо подходит для этой задачи (извините). Я бы проверил Tokyo Tyrant, может быть MongoDB или любую другую распределенную систему хранения ключей-значений. Существуют также специализированные коммерческие продукты.

MongoDB может заменить некоторые из своих индексов на HD . Полагаю, ваша проблема в том, что MySQL просто не может этого сделать (хотя я не MySQL-парень).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...