PostgREST, Haskell-де жазылған кез-келген PostgreSQL мәліметтер базасына арналған REST API

PostgREST-логотипі

PostgREST тәуелсіз веб-сервер болып табылады кез келген PostgreSQL дерекқорын RESTful API-ге тікелей түрлендіру. Хаскеллде жазылған, әлдеқайда таза, стандарттарға сәйкес келетін AP ұсынады. Ал құрылымдық шектеулер мен мәліметтер базасына рұқсат соңғы нүктелер мен API әрекеттерін анықтайды.

PostgREST құжаттамасы оны «қолмен CRUD бағдарламалауға балама» ретінде сипаттайды. PostgREST - бұл ашық бастапқы коды және PostgREST ұшыраған API OpenAPI сипаттамасына сәйкес келеді (бұрын Swagger спецификациясы деп аталған). Оның құжаттамасына сәйкес, ол мәліметтер қорының кестелері арасындағы тәуелділіктерді басқарады, бұл сізге қарапайым REST сұранысы арқылы екі кестенің қосылуынан деректерді алуға мүмкіндік береді.

PostgREST жауап жылдамдығы секундына жетпеген кезде өте жылдам болады ақысыз Heroku деңгейінде секундына 2000 сұранысқа дейін.

«Егер сіз аударма тілдерінде жазылған серверлерге үйреніп қалған болсаңыз, PostgREST жұмысына таңдануға дайын болыңыз», - дейді команда.

Топтың айтуы бойынша бұл жылдамдыққа үш фактор ықпал етеді.

  1. Біріншіден, сервер Haskell тілінде жазылған HTTP Warp серверін қолдану (жинақталған тіл).
  2. Содан кейін, дерекқорға мүмкіндігінше көбірек есептеулерді жіберусоның ішінде JSON жауаптарын SQL-ге тікелей сериялау, деректерді тексеру және т.б.
  3. Соңында, мәліметтер қорының қосылымын қолдау үшін Hasql кітапханасын қолданады, PostgreSQL екілік хаттамасы және көлденең масштабтау үшін азаматтығы жоқ болып қалады.

PostgREST аутентификациямен айналысады (JSON Web Tokens арқылы) және деректер базасында анықталған рөлдік ақпаратқа өкілеттік беру. Бұл қауіпсіздік үшін бір ғана шындықтың декларативті қайнар көзі болуын қамтамасыз етеді.

Мәліметтер базасымен жұмыс жасағанда сервер аутентификацияланған пайдаланушының сәйкестігін қабылдайды және қосылу кезінде ол қолданушының өзі жасай алмайтын ешнәрсе істей алмайды. JWT примитивінде аутентификацияның басқа нысандары жасалуы мүмкін.

Екінші жағынан деректер тұтастығы туралы сөз болғанда, PostgREST Нысанның реляциялық картасына сүйенудің орнына (ORM) және теңшелетін императивті кодтау, бұл жүйе декларативті шектеулерді сіздің мәліметтер базаңызға тікелей енгізеді.

Сондықтан, ешбір бағдарлама сіздің деректеріңізге зиян тигізбейді (API серверіңізді қоса). PostgREST HTTP интерфейсін әр түрлі сақтық көшірмелермен қамтамасыз етеді, соның ішінде PUT сұрауларын қолдану. Басқаша айтқанда, ешқандай ОРМ қатыспайды.

Жаңа көріністердің жасалуы SQL-де өнімділіктің белгілі нәтижелерімен жүреді. PostgREST-тің ең жақсы жағы - бұл мәліметтер базасының әкімшісі API-ні арнайы бағдарламалаусыз нөлден жасай алады.

Кейбіреулер үшін PostgREST сонымен қатар NoSQL немесе GraphQL мәліметтер базасына қызықты балама болып табылады реляциялық модельді қолдау қажет болса, API-де туындайды. Олар бұл орта бағдарламалық жасақтаманың Linux дистрибьюторларының пакеттік репозиторийлерінде стандартты түрде қол жетімді емес екендігі өкінішті.

PostgREST-ті Linux-қа қалай орнатуға болады?

6.0.2 нұсқасы өткен тамызда жаңа толықтырулармен және кейбір өзгертулермен шығарылды. Бұл нұсқаны github-тан алуға болады.

Сілтеме бұл.

Сол сияқты, PostgREST бағдарламасын орната алатындар үшін, олар қолданыстағы нұсқаны дәл қазір терминатор көмегімен алуға болатындығын білуі керек. Тек сонда біз тереміз:

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-linux-x64-static.tar.xz

Енді олар пакетті келесі пәрменмен ашуы керек:

tar Jxf postgrest-v6.0.2-linux-x64-static.tar.xz

Ubuntu-дің 64-биттік нұсқасын қолданатындар үшін ерекше жағдай:

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-ubuntu.tar.xz
tar Jxf postgrest-v6.0.2-ubuntu.tar.xz

Немесе Ubuntu-дің 32-биттік нұсқасын қолданатындар үшін

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-ubuntui386.tar.xz
tar Jxf postgrest-v6.0.2-ubuntui386.tar.xz

Олар мыналармен жүгіре алады:

./postgrest --help

Докердің суреті де дайындалады, оны теру арқылы алуға болады:

докер тарту постгрест / постгрест

Сонымен, сіз оның конфигурациясы туралы қосымша ақпаратты оның веб-сайтындағы құжаттамадан ала аласыз. Сілтеме бұл.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.