Якщо ви прийшли до цього каналу з мого твітеру, то мабуть ви вже чули від мене про Omnigres.
Якщо ні, то, якщо дуже коротко, це такий сервер застосунків (application server) інтегрований безпосередньо у Postgres, тобто у базу даних.
У багатьох виникає питання: а навіщо?
Звісно, є серйозні та цікаві причини чому це може бути гарною ідеєю, типу механічної симпатії, комунікаційного оверхеда, тощо. Ми про все це скоро ще поговорим.
Але насправді, моїм першим спонуканням було бажання уникнути розробки нових проектів, оскільки я постійно зіштовхувався з різними девопс- та інтеграційними питаннями. Загалом, це не складно, але набридло.
Отже, мені наснилася така мрія: я хотів, щоб можна було розгортати один сервер і, взагалі кажучи, більше нічого б не потребувалося.
Мені також спало на думку, що в принципі, більшість стандартних систем це здебільшого купа SQL-запитів та API викликів помножені на різноманітні оптимізації. Звісно, це спрощення але корисне спрощення. Так чи інакше, ми в основному просто маніпулюємо даними.
У стандартному застосунку HTTP-сервер отримує запит, передає його до якогось там контролеру (сервлету, скрипту, тощо), а там ми біжимо до бази даних і власне запитуєм її, чекаєм на відповідь, і потім її повертаємо до клієнта.
Отже я і вирішив спробувати: а чи не можна це все спростити та позбутися зайвого? Чи можна якось скоротити цей ланцюжок?
Мій вибір зупинився на Postgres, оскільки він популярний, в ньому вже дуже багато всього, і для нього можна писати розширення.
Для початку, додав HTTP-сервер (бо куди ж без нього?) та ще кілька розширень і на ньому вже можна писати невеличкі застосунки. HTTP клієнт та інші цікаві штуки на підході.
Я мрію, що скоро на цьому можна бути розробляти і більш серйозні проекти, але завдяки суттєвому спрощенню, можна буде це робити швидше та й навіть самі проекти будуть працювати швидше (спойлер: здається, якщо HTTP сервер сидить разом з базою і не треба бігати через сокети до неї, то в принципі, це може прискорити роботу).
Головне, щоб збереглась суть: це має бути просто. Бо треба ж і себе любити.
Post #6
514