-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SQLite в качестве базы данных. #17
Comments
Пока, база данных, имеет вот такую вот структуру: Одна таблица и куча view'ов. В планах - следующее...
А пока, одна таблица, и куча view'ов к ней. |
На данный момент, структура базы данных, вот такая: |
SQLite3 база-данных, создаётся из этого sql-файла. Тыкая и тестируя эту базу данных, и перечитав по диагонали README.md,
Коллизии хэша, для различных сообщений, могут быть исключены, Дальшейшее преобразование данной хэш-таблицы в таблицу вида: Все дальнейшие свистопляски с кодом, строятся вокруг парсинга, постинга, стеганографии, коллекта пикч, и дизайна локальной читалки нанопостов, что не так уж и важно в плане исключения мочерации, |
Распределённая хэш-таблица, это ничто иное как DHT в децентрализованных сетях : https://ru.wikipedia.org/wiki/Распределённая_хеш-таблица |
Поскольку для достижения максимальной немочерируемости, хранение хэш-таблицы, Так как в долгосроке, хэш-таблица, откуда ничего не удаляется, была бы слишком длинной, И ещё, для загрузки только последних постов, должна бы быть некая таблца-индекс, вроде |DateTime|PostHash| |
Я не знаю, как скомпилировать код из бранча nanodb-sqlite Также, я не знаю, как скомпилировать linux-версию из кода https://github.com/username1565/System.Data.SQLite с помощью mono, и как подключить всё это в CSHarp. Я уже достаточно напердолился с этой нбордой, на голом энтузиазме. Вся эта канитель с sqlite задумывалась для того, чтобы впилить нормальную базу данных, Сидел ломал голову над структурой постов, и когда думал над аттачами (этим вот длинным бейсом, снутри нанопостов), Планировалось следующее. Стеганографировать аттачи, вперемешку с нанопостами, как отдельные сущности. Для чего отдавать аттачи по AttachmentID или ExceptXMGHash? И ещё. Если аттач уже есть в базе, и добавляется нанопост с этим же аттачем, дублирование исключается, Вообще, если так подумать, то для того чтобы слить базу, достаточно просто отдать 0.db3 и index-3.json, с lite-server'a. nanoboard/nanodb.exe-source/Server/DbApiHandler.cs Lines 40 to 42 in 8f0edd8
Через последний, также может идти ретрансляция, как было задумано делать через BitMessage. Также, потомкам, скажу, что в идеале, следовало бы запилить пиринговую сеть, в которой lite-server'ы могли бы синхронизироваться децентрализованно, и диверсифицированно хранить всю хэш-таблицу с нанопостами и аттачами. И ещё. Что я думал сделать, так это впилить некоего IRC-бота. |
Сбилдил здесь mattleibow/Mono.Data.Sqlite#4 |
Исходя из поста #12 (comment)
Есть идея пришпандорить базу данных SQLite.
Почему SQLite? Даже не потому, что она реляционная, а потому что она - open-source.
Для работы с базой, в будущем, будет использоваться этот код:
https://github.com/username1565/System.Data.SQLite
а именно, скомпилированный из него многовесный файл библиотеки
System.Data.SQLite.dll
,с
Sqlite.Interop.dll
внутри.В проектировании баз данных, я, особо не силён,
но попробую спроектировать её - собственными силами,
и пожалуй начну с SQL-запроса для создания базы данных.
Для версии наноборды с SQLite создан отдельный бранч
https://github.com/username1565/nanoboard/tree/nanodb-sqlite
SQL-файл для создания базы данных - будет здесь:
nanodb-sqlite/nanodb.exe-source/Database/nanodb.sqlite3.sql
The text was updated successfully, but these errors were encountered: