Ты все про теорию говоришь. В каком количестве будут сыпать в базу insert при фармящих 500 человек. Возможно со всеми хитростями крихтя пердя и задыхаясь выдержит, но что делать с онлайном 1к+? А на старте? Когда из этой 1000 не на трейде половина, а постоянно фармит и получает/расходует предметы.
Если она такая удобная и звездатая то почему никто в мире не использует её для нагруженных проектов? Задумайся. Есть случаи использования SQLite, но только в связке с полноценной БД.
Хорошие вопросы. Фактов нет, одни теории (не я про это начал).
Я предпочитаю оптимизировать то что проблематично. Если дейсвительно вы видели такие проблемы, это конечно и есть факт. Но посмотрим что будет в разработке моего проекта. Если будут такие вещи, то нужно будет делать все по-другому. Можно это назвать костылем, а можно назвать улучшением по сравнению с тем что сейчас можно увидеть на Яве. Я уже упоминал про такие проблемы, особенно при фарме где у L2J сечас есть проблемы с 200 лучниками. И это уже используя MariaDB/Mysql отделенную базу данных. Это пример который нужно оптимизировать, а не просто кидать больше ресурсов на маскировку проблемы.
Насчет использования. Достаточно много проектов на западе используют такую базу данных. Она ведь самая популярная на планете. Она интегрированна везде. Тот-же Windows или там Mozilla браузер использует их в множестве. Я не буду глубоко описывать как и почему, но просто скажу что это факт. Возможно несколько сомнительный и смелый. Но есть и дополнительные технологии которые и делают бэкапы для SQLite, как и различные функциональные новшества которые равны тем же БД что вы так хотите видеть ( например
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или
Регистрация
).
Ну и в конце концов почему не другую базу данных? Я уже описывал ситуации когда нужно испльзовать что-то другое чем локальную БД Sqlite. Я только за. Но почему я все-таки ее использую? Все очень просто, я хочу сделать сервер простым в использовании, как и достаточно производительным. Если будут проблемы сo скоростью записи, то нужно будет их решать. Сейчас в сервере есть множественные кеши (cache) которые уменьшают запросы на запись в БД. Например о том что вы написали, о предметах и фарме. Если есть предметы которые попадают либо в инвентарь или же просто лежат в мире (немного другая логика сохранения для них), то во первых все будет сохраняться локально и только через например 10 секунд все изменения инвентарев (именно изменения а не все предметы) всех игроков будут сохранены одним массивным запросом. Почему это нельзя сделать на Яве? Во первых только Acis имеет что-то подобное (у них это построенно на постоянном интервале, на Lineage2TS используется другой debounce интервал). Во вторых, идет блокировка потока, поэтому нужно все делать в другом, не игровом потоке (что не есть проблемой, но будет проблемой если у вас соединение каким-то образом уж очень тормозит). Так вот, это все решения проблемы. Будут другие. Вот и будем решать. А когда прийдет время использования другиx БД, все оптимизированное как раз и будет также помогать БД.
Хочу добавить, что да, вопрос для не-посвященных в оптимизацию всегда стоит o том что они видели, и они видели именно рабочим. Это меня интересует только что-бы я смог решить и оптимизировать решение проблемы. Вот и все. Я не против того что до сих пор вы видели достаточно старые подходы для решений проблем. Но всетаки можно попробовать что-то более интересное.