Добрый день!
Необходимо спроектировать и реализовать процессинговую БД на базе PostgreSQL 9.6 под Debian Stretch. Десяток таблиц, триггеры (after insert в основном)
ТЗ как такового нет. Простор для творчества практически полный. С меня требования, с вас реализация. Реализация почти полностью на ваше усмотрение (90%), хотя какая-то структура в голове у меня уже обозначилась ваш опыт будет полезен для выпрямления полета фантазии. В процессе обсуждения (телеграм, здесь, телефон) обозначу что нужно в первую очередь реализовывать.
Подключение к серверу через torsocks и, соответственно работа с базой в pgcli (в командной строке, кто не знает). Если раньше не пользовались ничего страшного разберетесь, она не сложная. Для визуализации БД на своей стороне можете использовать любой удобный вам инструмент.
По профессии я тоже "разработчик" БД, но MS и аналитика, что совсем не процессинг, поэтому и не берусь делать сам, да и давно, лет 10, не практиковал. Это я к тому, что я знаком с процессом разработки БД не понаслышке.
В дальнейшем будет нужно периодическое ваше внимание, будет оплачиваться отдельно.
По оплате работать придется не один день, при таком подходе почасовую оплату я не осилю. Я предлагаю от 15 до 20 т.р. в неделю/за всю работу (типа "без премии/с премией"), лучше если через fl.ru безопасной сделкой.
Результаты работы я сам буду проверять, плюс, попозже присоединятся программист C/C++/Rust и мобильный разработчик, может от них будут пожелания исходить. К тому времени БД должна быть готова принимать транзакции и обкатываться.
Архитектура системы, какой я её вижу:
1. Приложение на C/C++/Rust заливает во входную коммуникационную таблицу одну или несколько бинарных строк, содержащих в себе командный пакет и обратный адрес
2. После записи срабатывает триггер и парсит строку, после чего перекладывает её в промежуточную входную таблицу, а в промежуточную выходную таблицу кладет бинарный ответ о начале обработки транзакции
3. Впромежуточной входной таблице триггер после завершения записи, в зависимости от содержимого строки/строк командного пакета, производит действия над рядом таблиц (балансовые таблицы, таблицы ключей обмена, таблицы отложенных переводов и т.п.) после чего формирует ответ (иногда массивнее, чем команда) и кладет его в промежуточную выходную таблицу
4. Триггер промежуточной выходной таблицы делает из ответного пакета длинную байтовую строку и забрасывает её в выходную коммуникационную таблицу, добавив в открытом виде обратный адрес.
Неправильные входящие строки уничтожаются с уведомлением клиентского приложения и увеличением счетчика, при количестве неправильных строк выше некоего, определяемого в специальной таблице параметров, уровня клиент (или обратный адрес) банится на определенное время, при повторных попытках продолжительность бана увеличивается.
Кодирование бинарных строк либо поля фиксированной длины, либо BER-TLV (введение есть на хабре
habr.com/post/380247/, если надо будет пришлю стандарт, он только на английском)
Вся работа с БД через тор, поэтому чуть-чуть тормозить будет, но, в принципе не страшно, все равно работа с БД это прежде всего размышление.
Важная оговорка относительно авторских и иных интеллектуальных прав все должно быть сделано "с нуля", авторские и иные права на результаты проделанной работы принадлежат мне.
P.S. Это не стартап, разбрасывающий миллионы чужих денег, деньги мои и считать их я умею. Если вы мечтаете получать 200 в месяц вам, к сожалению не ко мне (я бы и рад столько платить но пока я/мы столько не заработали). И даже с мечтами о 100 тысячах в месяц тоже не ко мне. Я могу, конечно, постфактум, на волне эйфории от качества вашей работы, тысяч Х накинуть, но здравый смысл в основном во мне преобладает и до этой волны эйфории обещать ничего не хочу и не могу.
P.P.S. Жаль здесь нет комментариев вот бы посмотреть на них.