Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите БД и работа с ней.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Rider3217, 29 авг 2015.

  1. Автор темы
    Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Есть у кого то сылочка на подробнейший туториал по MySql и Sql?
    В Google почти не искал, есть туториал по MySQl, но там не всё описано.
     
  2. Хостинг MineCraft
    <
  3. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
  4. Автор темы
    Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    А чем БД лучше того же yml файла например? Она быстрее? Нагрузки меньше?
     
  5. Автор темы
    Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    А примерка какое время на получение одного запроса?
     
  6. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    БД удобна для хранения большого кол-ва информации и получения удобного доступа к ней.
     
  7. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Если у автора темы миллион записей, то чтение одного случайного из текстового файла будет сопровождаться чтением всего файла, парсингом, всякими другими накладными расходами, тогда как в БД запрос на чтение чаще всего использует индексы и занимает минимальное время.
    Чем больше размер данных, тем больше выгода от использования СУБД.
     
  8. Автор темы
    Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Очень хорошый ответ.
     
  9. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Если текстовый файл, то дозаписывать можно только добавления в конец. Иначе это полная перезапись. Более сложный вариант — обрезка конца и дозапись в конец.
    Считать 1 раз в память — не хороший путь, зачем держать в памяти огромное кол-во чего-то, что, скорее всего, не понадобится в течении работы сервера. Как понять — разбросать на N частей? Писать своё индексирование (на основе HashMap или других примитовов)?

    Всегда стоит вопрос, что выгоднее (по времени реализации и результату работы). Нужно рассматривать конкретную задачу.
     
  10. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    При условии, что весь файл влазит в оперативку. Бывают и другие случаи.
    Если твой проц с кучей свободных ядер. Если они заняты, то обработка 5 строк занимает в разы меньше времени, чем создание нового потока и ожидание, пока ему выделится квант времени. Поток имеет смысл создавать только для значительного объёма работы.
    HashMap всегда эффективнее (ну кроме разве что когда элементов меньше десятка) прямого перебора. Потому что перебор всегда занимает время O(N), а HashMap с его корзинами — чаще всего около O(log(N)).
    Гадать — плохо. Не доверять стандартному — плохо. Нужно хорошо знать тот инструмент, которым ты пользуешься.
    Написал костыль, который уже есть в лучшем виде в рантайме: HashMap.

    Полезная инфа в общем-то для всех по этой теме:
     
  11. Автор темы
    Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Я вижу вы любите дискуссии, без них ни куда))
     
  12. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    СУБД вообще правильней, но нужно понять ее философию, что я пока что никак не могу сделать(((
     
  13. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    а в чем сокральный смысл поиска с концов в центр, а не от одного конца до другого?))
    а насчет бд, там куча каких-то деревьев и индексов, короче все сложно)
     
  14. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
     
  15. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Ты думаешь самый умный, все большие ребята используют для хранения больших объемов данных разные СУБД, а не файлы и хэшмапы в памяти.
     
  16. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    горе оптимизатор, блин) ты сэкономил n/2 i плюс плюсов, поздравляю. и выиграл в производительности нифига. просто у тебя худший случай будет не в конце, а в середине. есть хорошее правило: 10% кода съедают 90% времени (как-то так), так что не надо изобретать непонятно что в таких простых конструкциях)
     
  17. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    чем? сокращение итераций не значит, что это работает быстрее. у тебя в 2 раза меньше итераций, но в два раза больше действий в каждой итерации (и n еще зачем-то уменьшается). тем более есть такая штука, как кэш. и подряд читать элементы может быть даже лучше.
     
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Приятно знать, что"мой"добрый совет помогает людям.
     

Поделиться этой страницей