|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Максимаотное количество строк |
|
|
MySQL - Максимаотное количество строк
|
Пользователь Сообщения: 69 |
Профиль | Отправить PM | Цитировать Подскажите какое максимальное количество строк может храниться в базе данных mySQL 2005, если база содержит 4 столбца?
|
|
Отправлено: 16:39, 22-05-2008 |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать Теоретически ограничений нет, точнее они не достижимы на практике.
Реально я сталкивался с такой базой http://forum.oszone.net/thread-98946.html |
------- Отправлено: 22:20, 22-05-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Jonik-Mnimonik,
Ограничений нет - всё зависит от вашего железа - сколько оно выдержит. Вот выдержка из списка features MySQL Цитата:
|
|
------- Отправлено: 22:22, 22-05-2008 | #3 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Просто не необходимо сохранять в базе данных пароли и соответсвующие к ним хэш-значение.
Если допустить что длина пароля 6 символов, а мощность алфавита 52. то количесто строк должно быть 56,800,235,584. Вот теперь у меня возникает другой вопрос. Если значение хэш-функции 32 байта, а размер пароля 6 байт, то общий размер одной записи будет 38 байт. Умножая 56,800,235,584*38 получим 2,158,408,952,192 т.е. получается размер базы данных 2Тбайта. Правильно ли я рассуждаю? |
Отправлено: 09:10, 23-05-2008 | #4 |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать Цитата Jonik-Mnimonik:
Однако, в ваших рассуждениях есть ошибка, а именно - число реально хранимых записей (строк) будет равно числу пользователей (аккаунтов). Расчитанных же вами 56 милиардов, хватит на 9 аккаутнов для каждого жителя Земли. Вы расчитали некое умозрительное максимальное значение, причем, пароли у пользователей не должны дублироваться. |
||
------- Отправлено: 10:30, 23-05-2008 | #5 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Это я всё понимаю. Просто передо мной стоит задача нагенерировать все возможные хэш-значения от паролей, а потом найти пароль по значению хэша.
|
Отправлено: 15:24, 23-05-2008 | #6 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Лучше будет нарезать хеши в несколько таблиц, сгруппировав по сложности. Т.е., чтобы сперва просматривались таблицы с легкими (наиболее распространенными паролями), а если в них нету записей - только тогда переходить к таблицам со сложными паролями. Это здорово поможет поднять скорость.
56 миллиардов записей в одной таблице - это под нагрузкой ни одна БД не вынесет, будь она хоть на ассемблере написана. А вообще MySQL для такой задачи отличный выбор. |
------- Отправлено: 20:16, 15-06-2008 | #7 |
Ветеран Сообщения: 7252
|
Профиль | Отправить PM | Цитировать Jonik-Mnimonik, а зачем вам пароль из хэша? ИМХО, абсолютно ненужная трата ресурсов. У меня, например, в одной из программ используется такой метод - клиент присылает нешифрованый пароль, скрипт его принимает, шифрует, далее из базы запрашивется образец хэша, и с ним сравнивается свежезашифрованый. Таким образом, в базе у меня хранятся только хэши - никаких паролей в явном виде, правда, если пользователь его забудет, придется вводить новый. Зато количество записей соответствует количеству пользователей, не более. Для повышения безопасности я еще и блокирую учётку при трёхкратной ошибке набора пароля. Ну, как вариант, можно применить двусторонние алгоритмы, т.е. пароль можно получить из хэша и наоборот, хэш из пароля. Количество записей, опять же, по количеству пользователей.
Цитата Jonik-Mnimonik:
|
|
------- Отправлено: 23:14, 15-06-2008 | #8 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Цитата Amin:
Цитата dmitryst:
зы Диплом, ни куда не деться. |
||
Отправлено: 07:05, 16-06-2008 | #9 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Jonik-Mnimonik, размер БД будет гораздо больше, т.к. для эффективного поиска в дополнение к таблице строится индекс. По здравым размышлениям это вроде бы и избыточная информация для данной конкретной задачи, но сервера БД идут по универсальному пути.
Разбивать таблицы по длине исходных паролей imho плохая концепция. Если бы заранее была точно известна длина пароля - поиск бы ускорился, а без этого вы вынуждены частично идти методом перебора. |
Отправлено: 16:20, 16-06-2008 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Группировка строк в экселе | pva | Программирование и базы данных | 6 | 16-04-2009 12:41 | |
Разное - количество строк WinXP | Abracadabra | Хочу все знать | 7 | 11-02-2008 23:05 | |
добавления строк в файл | e9990638 | Автоматическая установка приложений | 5 | 18-01-2007 18:35 | |
Сравнение строк в PHP | Dutchman Mihel | Вебмастеру | 8 | 06-07-2004 13:04 | |
Сложение строк на PHP | Vlad Drakula | Вебмастеру | 1 | 08-06-2003 21:30 |
|