Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Максимаотное количество строк

Ответить
Настройки темы
MySQL - Максимаотное количество строк

Пользователь


Сообщения: 69
Благодарности: 1

Профиль | Отправить PM | Цитировать


Подскажите какое максимальное количество строк может храниться в базе данных mySQL 2005, если база содержит 4 столбца?

Отправлено: 16:39, 22-05-2008

 

Аватара для kim-aa

Назгул


Сообщения: 2633
Благодарности: 345

Профиль | Отправить PM | Цитировать


Теоретически ограничений нет, точнее они не достижимы на практике.

Реально я сталкивался с такой базой http://forum.oszone.net/thread-98946.html

-------
Мы овладеваем более высоким стилем спора. Спор без фактов. Спор на темпераменте. Спор, переходящий от голословного утверждения на личность партнера. (c)Жванецкий


Отправлено: 22:20, 22-05-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Jonik-Mnimonik,
Ограничений нет - всё зависит от вашего железа - сколько оно выдержит.
Вот выдержка из списка features MySQL
Цитата:
Handles large databases. We use MySQL Server with databases that contain 50 million records.
We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.

-------
Fortes fortuna adiuvat


Отправлено: 22:22, 22-05-2008 | #3


Пользователь


Сообщения: 69
Благодарности: 1

Профиль | Отправить 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


Аватара для kim-aa

Назгул


Сообщения: 2633
Благодарности: 345

Профиль | Отправить PM | Цитировать


Цитата Jonik-Mnimonik:
о количесто строк должно быть 56,800,235,584 »
Вы расчитали все возможные значения (комбинации).
Однако, в ваших рассуждениях есть ошибка, а именно - число реально хранимых записей (строк) будет равно числу пользователей (аккаунтов).
Расчитанных же вами 56 милиардов, хватит на 9 аккаутнов для каждого жителя Земли.
Вы расчитали некое умозрительное максимальное значение, причем, пароли у пользователей не должны дублироваться.

-------
Мы овладеваем более высоким стилем спора. Спор без фактов. Спор на темпераменте. Спор, переходящий от голословного утверждения на личность партнера. (c)Жванецкий


Отправлено: 10:30, 23-05-2008 | #5


Пользователь


Сообщения: 69
Благодарности: 1

Профиль | Отправить PM | Цитировать


Это я всё понимаю. Просто передо мной стоит задача нагенерировать все возможные хэш-значения от паролей, а потом найти пароль по значению хэша.

Отправлено: 15:24, 23-05-2008 | #6


Аватара для Amin

Новый участник


Сообщения: 38
Благодарности: 3

Профиль | Отправить PM | Цитировать


Лучше будет нарезать хеши в несколько таблиц, сгруппировав по сложности. Т.е., чтобы сперва просматривались таблицы с легкими (наиболее распространенными паролями), а если в них нету записей - только тогда переходить к таблицам со сложными паролями. Это здорово поможет поднять скорость.
56 миллиардов записей в одной таблице - это под нагрузкой ни одна БД не вынесет, будь она хоть на ассемблере написана.
А вообще MySQL для такой задачи отличный выбор.

-------
xmpp:Aminux@jabber.ru


Отправлено: 20:16, 15-06-2008 | #7


Аватара для dmitryst

Ветеран


Сообщения: 7252
Благодарности: 905

Профиль | Отправить PM | Цитировать


Jonik-Mnimonik, а зачем вам пароль из хэша? ИМХО, абсолютно ненужная трата ресурсов. У меня, например, в одной из программ используется такой метод - клиент присылает нешифрованый пароль, скрипт его принимает, шифрует, далее из базы запрашивется образец хэша, и с ним сравнивается свежезашифрованый. Таким образом, в базе у меня хранятся только хэши - никаких паролей в явном виде, правда, если пользователь его забудет, придется вводить новый. Зато количество записей соответствует количеству пользователей, не более. Для повышения безопасности я еще и блокирую учётку при трёхкратной ошибке набора пароля. Ну, как вариант, можно применить двусторонние алгоритмы, т.е. пароль можно получить из хэша и наоборот, хэш из пароля. Количество записей, опять же, по количеству пользователей.
Цитата Jonik-Mnimonik:
получим 2,158,408,952,192 т.е. получается размер базы данных 2Тбайта. »
вам придется создавать кластер для более-менее быстрой работы такой БД.

-------
Осваиваю FreeBSD


Отправлено: 23:14, 15-06-2008 | #8


Пользователь


Сообщения: 69
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Amin:
Лучше будет нарезать хеши в несколько таблиц, сгруппировав по сложности. Т.е., чтобы сперва просматривались таблицы с легкими (наиболее распространенными паролями), а если в них нету записей - только тогда переходить к таблицам со сложными паролями. Это здорово поможет поднять скорость.
56 миллиардов записей в одной таблице - это под нагрузкой ни одна БД не вынесет, будь она хоть на ассемблере написана.
А вообще MySQL для такой задачи отличный выбор. »
Я так и делаю. Я разбил таблицы на разные длинны паролей. То есть пароль с длиной 3 храниться в одной таблице, а пароль с длиной 4 в другой.

Цитата dmitryst:
Jonik-Mnimonik, а зачем вам пароль из хэша? ИМХО, абсолютно ненужная трата ресурсов. У меня, например, в одной из программ используется такой метод - клиент присылает нешифрованый пароль, скрипт его принимает, шифрует, далее из базы запрашивется образец хэша, и с ним сравнивается свежезашифрованый. Таким образом, в базе у меня хранятся только хэши - никаких паролей в явном виде, правда, если пользователь его забудет, придется вводить новый. Зато количество записей соответствует количеству пользователей, не более. Для повышения безопасности я еще и блокирую учётку при трёхкратной ошибке набора пароля. Ну, как вариант, можно применить двусторонние алгоритмы, т.е. пароль можно получить из хэша и наоборот, хэш из пароля. Количество записей, опять же, по количеству пользователей. »
Дело в том, что задача поставилась именно восстановить пароль по значению хэш-функции. Это трудная задача. Вот мне и приходиться выщитывать все значения хэш-функций. а потом сравнивать, с тем по которому необходимо найти пароль. А в таблице храниться хэш-функция и соответствующий ему пароль. Если говорить про систему аутентификаци, то конечно я бы выбрал так как вы сказали.

зы Диплом, ни куда не деться.

Отправлено: 07:05, 16-06-2008 | #9


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Jonik-Mnimonik, размер БД будет гораздо больше, т.к. для эффективного поиска в дополнение к таблице строится индекс. По здравым размышлениям это вроде бы и избыточная информация для данной конкретной задачи, но сервера БД идут по универсальному пути.

Разбивать таблицы по длине исходных паролей imho плохая концепция. Если бы заранее была точно известна длина пароля - поиск бы ускорился, а без этого вы вынуждены частично идти методом перебора.

Отправлено: 16:20, 16-06-2008 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Максимаотное количество строк

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Группировка строк в экселе 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




 
Переход