Help - Спроектировать БД

Тема в разделе "Базы данных", создана пользователем mefish, 19 мар 2011.

Модераторы: latteo
  1. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    915
    Симпатии:
    643
    Есть некая база со следующей структурой:


    Table1:

    Код:
    ( id | hash_md4 | hash_md5 | hash_md5x2 | pass )
    Table2:

    Код:
    ( id | hash )
    Все бы ничего, но есть некоторые сомнения, а именно разширяемость базы в последующем.

    БД будет просто ппц каких размеров, каждая запись длинной в 32 символа, в данный момент нужно впиндюрить 280 лямов на каждый hash_Х, т.е. почти мильярд, а что же дальше ? О_о

    Прошу гуру дать наиболее подходящую структуру БД, на ваш взгляд :crazy: ,я нуб в этом, кодер в тему подключится со временем.
     
  2. Monterpan

    Monterpan Постоялец

    Регистр.:
    3 мар 2008
    Сообщения:
    150
    Симпатии:
    27
    Как минимум, можно большие таблицы разделять на несколько. Например, в зависимости от первых букв hash.
    Т.е. 1) если hash начинается с цифры - то в одну таблицу, те которые с буквы - в другую.
    или
    2) если hash начинается с "a" то - в 1-ую таблица, "b" - во 2, и т.д.

    А вообще, нужно более подробно смотреть на ваше ТЗ по сайту...
     
  3. lifediz

    lifediz Yii Framework developer

    Регистр.:
    7 июн 2008
    Сообщения:
    385
    Симпатии:
    507
    Вряд ли будет целесообразно разделять хеши на таблицы по алфавиту...
     
  4. Monterpan

    Monterpan Постоялец

    Регистр.:
    3 мар 2008
    Сообщения:
    150
    Симпатии:
    27
    Точнее про это можно сказать, только больше узнав про данную БД. Какие выборки будут в таблицах, как часто будут вставки/чтения и т.д.

    У меня было всего 10 миллионов подобных записей, так для нормальной работы, а много всего попробовали, пришлось разбивать на несколько подтаблиц.
     
  5. exn

    exn Постоялец

    Регистр.:
    22 янв 2010
    Сообщения:
    146
    Симпатии:
    23
    та обычная радужная табличка, какое тз . что за база , mysql радной как всегда ? тогда innodb , а вообще такие вещи народ на гугле разворачивает :tut:

    если уж на то пошло то primary key на айдишники , все это дело естно в unsigned int , и естественно поле для связи по человечески как-то назвать его вроде id_password или что там больше по смыслу. хотя непонятно почему этот некий hash нельзя добавить в общую таблицу, ну да ладно.