Google Cloud SQL переоценивает использование хранилища и сообщает о неизвестных ошибках

У меня есть экземпляр Google Cloud SQL, с которым мне трудно работать.

Изначально в экземпляр была загружена база данных. Я пытался удалить и заменить эту базу данных новой базой данных с тем же именем. С тех пор у меня возникло несколько проблем ...

  1. База данных составляет ~ 500 КБ. Cloud SQL сообщает, что я использую ~ 50 МБ данных.
  2. Экземпляр содержит несколько других ожидаемых баз данных (performance_schema, information_schema, mysql). Я не уверен, были ли они случайно загружены из моего локального экземпляра MySQL и возникнут ли в дальнейшем проблемы из-за перезаписи этих баз данных.
  3. Теперь я продолжаю получать клиентские ошибки (обнаруженные и зарегистрированные Google) в консоли Cloud SQL.
  4. Панель операций сообщает о неизвестных ошибках рядом со всеми моими попытками загрузить базу данных из .sql файла. Не сообщалось об ошибках для попыток использования файлов без расширения.

Я не знаю, с чего начать, поэтому приветствую любую помощь. Прямо сейчас меня больше всего беспокоит неправильный расчет использования хранилища, поскольку я не хочу объяснять неожиданное увеличение выставления счетов.

--

Обновлять:

Я создал базу данных в phpMyAdmin и экспортировал ее с помощью вкладки экспорта. «~ 500 КБ» - это размер экспортируемого файла. Изначально я предполагал, что все мои неудачные загрузки все еще сохраняются, но недоступны и, следовательно, не подлежат удалению.

Я по-прежнему скептически отношусь к необходимости всех трех дополнительных баз данных, в основном потому, что я обнаружил (из, возможно, ненадежного источника), что Cloud SQL не использует performance_schema.

Сообщения об ошибках не содержат никакой полезной информации. К ошибкам на стороне клиента относятся (перефразировано) «Возникла проблема с консолью, обновите страницу» или «Google обнаружил ошибку на стороне клиента», оба на странице Cloud SQL консоли разработчика. Ошибки на стороне сервера можно найти только в разделе «Операции» в столбце «Сообщение» и просто сказать «Произошла неизвестная ошибка».


person twinlakes    schedule 03.06.2014    source источник


Ответы (2)


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

Cloud SQL использует MySQL, который, в свою очередь, использует InnoDB в качестве механизма хранения по умолчанию. Пустой D0 содержит как минимум следующие 3 файла:

18874368 ibdata1
16777216 ib_logfile0
16777216 ib_logfile1

То, что вы видите ~ 50 МБ. Ib_logfile0 и ib_logfile1 - файлы фиксированного размера, которые используются InnoDB в качестве кольцевого буфера. Ibdata1 является основным табличным пространством и используется для хранения фактических данных и других вспомогательных данных (например, журнала UNDO). Табличные пространства никогда не сжимаются, но пустое пространство внутри используется повторно.

Еще одна вещь: таблицы, которые отображаются в INFORMATION_SCHEMA и PERFORMANCE_SCHEMA, являются синтетическими и не занимают места.

person Razvan Musaloiu-E.    schedule 04.06.2014

  1. Я ожидаю, что размер, который вы видите (используемое хранилище), равен размеру всех баз данных, включая системные (performance_schema, information_schema и mysql). В моем экземпляре используется ~ 58 МБ только с одной небольшой базой данных, однако бесплатная квота даже для самого маленького размера экземпляра составляет 500 МБ, поэтому не нужно об этом беспокоиться. Как вы рассчитали 500 КБ?

  2. Все три необходимые системные базы данных (performance_schema, information_schema и mysql) присутствуют и на моем экземпляре.

  3. ...

  4. Размер файла экспорта базы данных .sql из phpmyadmin не совпадает с размером файла базы данных, используемого сервером. Он содержит команды SQL, необходимые для воссоздания базы данных.

Это не просчет "использования памяти", это объем используемой (дисковой) памяти.

person IanGSY    schedule 03.06.2014
comment
Благодарю. Это проясняет некоторые из моих заблуждений. Я обновил свой вопрос ответом на ваше сообщение. - person twinlakes; 04.06.2014
comment
Файл .sql - это просто сценарий SQL, который содержит команды SQL, необходимые для воссоздания базы данных, это не то же самое, что фактический файл базы данных, используемый сервером. Вот почему размеры различаются. - person IanGSY; 04.06.2014