PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

PHP แƒ”แƒ™แƒแƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜ Tarantool แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ PECL แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ tarantool/tarantool-phpC-แƒจแƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ tarantool-php/แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜PHP-แƒจแƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜. แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ›แƒ” แƒ•แƒแƒ .

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ›แƒกแƒฃแƒ แƒก แƒ’แƒแƒ’แƒ˜แƒ–แƒ˜แƒแƒ แƒแƒ— แƒแƒ แƒ˜แƒ•แƒ” แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ•แƒแƒฉแƒ•แƒ”แƒœแƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ , แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก 3-5 แƒ–แƒ แƒ“แƒแƒก (แƒกแƒ˜แƒœแƒ—แƒ”แƒขแƒ˜แƒ™แƒฃแƒ  แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ–แƒ”!).

แƒ แƒแƒก แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—?

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒ–แƒ”แƒ›แƒแƒ— แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ“, แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ“แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ“ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“. ๐Ÿ™‚ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ  แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒ•แƒ”แƒฎแƒแƒ— แƒ—แƒแƒ•แƒแƒ“ แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ“แƒก. แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒ˜แƒ›แƒแƒก, แƒ แƒแƒช แƒ’แƒกแƒฃแƒ แƒ—:

  • แƒกแƒ•แƒฃแƒšแƒ˜ - แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒฉแƒแƒ แƒฉแƒ PHP-แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒข แƒ’แƒ˜แƒ’แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Alibaba แƒ“แƒ Baidu. 4.1.0 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒฏแƒแƒ“แƒแƒกแƒœแƒฃแƒ แƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ SwooleRuntime::enableCoroutine(), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— โ€žแƒ™แƒแƒœแƒ•แƒ”แƒ แƒขแƒ˜แƒ แƒ“แƒ”แƒ— แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ PHP แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒจแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒ—โ€œ.
  • Async แƒ‘แƒแƒšแƒ แƒ“แƒ แƒแƒ›แƒ“แƒ” แƒ˜แƒงแƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ PHP-แƒจแƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ แƒแƒขแƒแƒ› แƒ‘แƒแƒšแƒ แƒ“แƒ แƒแƒ›แƒ“แƒ”? แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒฉแƒ”แƒ›แƒ—แƒ•แƒ˜แƒก แƒฃแƒชแƒœแƒแƒ‘แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒแƒ•แƒขแƒแƒ แƒ›แƒ แƒฌแƒแƒจแƒแƒšแƒ แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒ”แƒ“แƒ˜ แƒ’แƒแƒฃแƒ แƒ™แƒ•แƒ”แƒ•แƒ”แƒšแƒ˜แƒ. แƒ›แƒแƒ›แƒ˜แƒฌแƒ”แƒ•แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ ะพะดะฝะธะผ แƒฉแƒแƒœแƒ’แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. Swoole-แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“, แƒ”แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒฉแƒแƒ แƒ—แƒแƒ— แƒจแƒแƒ แƒ•แƒแƒšแƒ˜ แƒ›แƒแƒฏแƒ˜แƒก แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ˜แƒ—, แƒ แƒแƒ—แƒ แƒฉแƒแƒ แƒ—แƒแƒ— แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ‘แƒ TCP แƒ“แƒ TLS แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ—แƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— "async.tcp = 1".
  • แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ - แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜ แƒฏแƒ แƒฃแƒแƒขแƒ™แƒ˜แƒœแƒกแƒ˜แƒกแƒ’แƒแƒœ, แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ phpdbg, apcu, pthreads, pcov, uopz. แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก API-แƒก PHP-แƒจแƒ˜ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒ“แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช pthreads-แƒ˜แƒก แƒจแƒ”แƒ›แƒชแƒ•แƒšแƒ”แƒšแƒ˜. แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ PHP-แƒ˜แƒก ZTS (Zend Thread Safe) แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒกแƒ—แƒแƒœ.

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒขแƒ”แƒกแƒขแƒแƒ—?

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— Tarantool-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒ— (wal_mode = แƒแƒ แƒชแƒ”แƒ แƒ—แƒ˜) แƒ“แƒ แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒšแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜ (แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ = 1 * 1024 * 1024). แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ›แƒ”แƒแƒ แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒก แƒ’แƒแƒฎแƒ“แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒก แƒ“แƒ แƒแƒ›แƒ˜แƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒแƒ›แƒ“แƒ” แƒ“แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ.

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ (แƒฉแƒแƒกแƒ›แƒ, แƒฌแƒแƒจแƒšแƒ, แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒ แƒ.แƒจ.), แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒœแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ memtx แƒกแƒ˜แƒ•แƒ แƒชแƒ”, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . (แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ).
แƒกแƒ˜แƒ•แƒ แƒชแƒ” DDL แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

space = box.schema.space.create(config.space_name, {id = config.space_id, temporary = true})
space:create_index('primary', {type = 'tree', parts = {1, 'unsigned'}, sequence = true})
space:format({{name = 'id', type = 'unsigned'}, {name = 'name', type = 'string', is_nullable = false}})

แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒœแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ”, แƒกแƒ˜แƒ•แƒ แƒชแƒ” แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ แƒคแƒแƒ แƒ›แƒ˜แƒก 10,000 แƒขแƒ˜แƒ แƒ˜แƒ—.

{id, "tuplะต_<id>"}

แƒขแƒแƒžแƒ”แƒ‘แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒแƒ“แƒ›แƒ˜ แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 10,000-แƒฏแƒ”แƒ  (แƒ แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒ”แƒ‘แƒ˜), แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช, แƒ—แƒแƒ•แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ•, แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ แƒแƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ แƒ”แƒ‘แƒ˜ 5 แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒชแƒ“แƒแƒ›แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ 3%*. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜. แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก 1 แƒฌแƒแƒ›แƒ˜แƒก แƒžแƒแƒฃแƒ–แƒ, แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒ˜แƒฅแƒœแƒแƒก แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ“แƒแƒซแƒแƒ‘แƒ•แƒ. แƒšแƒฃแƒแƒก แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœ แƒ“แƒ แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. PHP แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒ—.

* แƒ แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ‘แƒแƒ แƒ˜แƒ”แƒ แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜.

แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒ

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ MacBookPro-แƒ–แƒ” (2015), แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ - Fedora 30 (แƒ™แƒ”แƒ แƒœแƒ”แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ 5.3.8-200.fc30.x86_64). Tarantool แƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒ— "--network host".

แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜:

Tarantool: 2.3.0-115-g5ba5ed37e
Docker: 19.03.3, build a872fc2f86
PHP: 7.3.11 (cli) (แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ: 22 แƒแƒฅแƒขแƒแƒ›แƒ‘แƒ”แƒ แƒ˜ 2019 08:11:04)
แƒขแƒแƒ แƒแƒœแƒขแƒฃแƒšแƒ˜/แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜: 0.6.0
rybakit/msgpack: 0.6.1
ext-tarantool: 0.3.2 (+ patch for 7.3)*
ext-msgpack: 2.0.3
ext-async: 0.3.0-8c1da46
ext-swoole: 4.4.12
แƒ’แƒแƒ แƒ” แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒ˜: 1.1.3

* แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก PHP แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ— > 7.2. PHP 7.3-แƒ–แƒ” แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“, แƒ›แƒแƒ›แƒ˜แƒฌแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ›แƒ”แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒœแƒ แƒžแƒแƒขแƒฉแƒ˜.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜

แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜

Tarantool แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ แƒแƒ‘แƒ˜แƒ— แƒคแƒแƒ แƒ›แƒแƒขแƒก MessagePack แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. PECL แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒจแƒ˜ แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ˜แƒ›แƒแƒšแƒ”แƒ‘แƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒกแƒ˜แƒฆแƒ แƒ›แƒ”แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ–แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒงแƒœแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ. แƒแƒ  แƒฉแƒแƒœแƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜. แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒกแƒฃแƒคแƒ—แƒ PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ”แƒœแƒ™แƒแƒ“แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ˜แƒ— แƒแƒœ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒงแƒฃแƒ—แƒจแƒ˜ แƒแƒ แƒ˜ แƒจแƒ˜แƒคแƒ แƒแƒขแƒแƒ แƒ˜แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜, แƒ”แƒ แƒ—แƒ˜ แƒ”แƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒ msgpack/msgpack-php (แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ MessagePack PECL แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ), แƒ›แƒ”แƒแƒ แƒ” แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ rybakit/msgpack (แƒกแƒฃแƒคแƒ—แƒ PHP-แƒจแƒ˜).

แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ–แƒแƒ›แƒแƒ•แƒ— MessagePack แƒ”แƒœแƒ™แƒแƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒก:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› PHP แƒ•แƒ”แƒ แƒกแƒ˜แƒ (Pure) แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒ— แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ PECL แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒแƒก, แƒ แƒ”แƒแƒšแƒฃแƒ  แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก rybakit/msgpack, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  MessagePack แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒแƒ แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”แƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— Decimal - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฎแƒแƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ Tarantool 2.3-แƒจแƒ˜) แƒ“แƒ แƒแƒฅแƒ•แƒก แƒกแƒฎแƒ•แƒแƒ—แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ (PHP 7.4-แƒ—แƒแƒœ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—). แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ›แƒ˜แƒขแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ–แƒแƒ›แƒแƒ— แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒ“แƒแƒœ แƒฉแƒแƒœแƒก, PECL แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜ (Tarantool) แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒ™แƒ”แƒ—แƒ”แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ—แƒแƒœ (แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ—แƒแƒœ) แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ’แƒแƒกแƒแƒ™แƒ•แƒ˜แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ—แƒฃ แƒ’แƒแƒ•แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜, แƒ’แƒแƒ แƒ“แƒ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒœแƒ”แƒš แƒ”แƒœแƒแƒ–แƒ”, แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒข แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก: แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜. แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒ— ะธ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก (แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ - แƒแƒกแƒ”แƒ•แƒ” แƒ™แƒ แƒ˜แƒขแƒ”แƒ แƒ˜แƒฃแƒ›แƒ”แƒ‘แƒ˜แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก/แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ - แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก), แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜, Packer ะธ Handler แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒœ แƒ–แƒ”แƒ“แƒœแƒแƒ“แƒ”แƒ‘แƒก. แƒชแƒฎแƒแƒ“แƒ˜แƒ, แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒแƒ‘แƒแƒก แƒคแƒแƒกแƒ˜ แƒแƒฅแƒ•แƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, PHP แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ™แƒแƒ แƒ’ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒ—แƒฃแƒ›แƒชแƒ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ, แƒ˜แƒก แƒฃแƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒแƒก PHP 7.4-แƒจแƒ˜ แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒแƒก, แƒ แƒแƒ› แƒแƒฆแƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ•แƒ—แƒฅแƒ•แƒแƒ— JIT PHP 8-แƒจแƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ—. Tarantool 2.0-แƒ›แƒ แƒจแƒ”แƒ›แƒแƒ˜แƒฆแƒ SQL แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ. แƒจแƒ”แƒ•แƒ”แƒชแƒแƒ“แƒแƒ— แƒจแƒ”แƒ•แƒแƒกแƒ แƒฃแƒšแƒแƒ— Select, Insert, Update แƒ“แƒ Delete แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ SQL แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒแƒ— แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ noSQL (แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜) แƒ”แƒ™แƒ•แƒ˜แƒ•แƒแƒšแƒ”แƒœแƒขแƒ”แƒ‘แƒก:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
SQL แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒแƒ แƒช แƒ—แƒฃ แƒ˜แƒกแƒ” แƒจแƒ—แƒแƒ›แƒ‘แƒ”แƒญแƒ“แƒแƒ•แƒ˜แƒ (แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒก แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—). แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ›แƒแƒ–แƒ” แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒแƒ  แƒ•แƒœแƒ”แƒ แƒ•แƒ˜แƒฃแƒšแƒแƒ‘; SQL แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜แƒ (แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒชแƒแƒขแƒ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜) แƒ“แƒ แƒกแƒ˜แƒ˜แƒ— แƒ—แƒฃ แƒ•แƒ˜แƒ›แƒกแƒฏแƒ”แƒšแƒ”แƒ‘แƒ— แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜SQL แƒซแƒ แƒแƒ•แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒ’แƒแƒ˜แƒ•แƒšแƒ˜แƒก แƒ แƒ˜แƒ’ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก.

แƒแƒกแƒ˜แƒœแƒ™แƒ˜

แƒ™แƒแƒ แƒ’แƒแƒ“, แƒแƒฎแƒšแƒ แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ Async แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒแƒจแƒ˜. แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“, แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก API-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ”แƒ›แƒžแƒ˜แƒ แƒ˜แƒฃแƒšแƒแƒ“ แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ 25:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
โ€žแƒ’แƒแƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ—โ€œ 10,000 แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ 25 แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒแƒจแƒ˜ แƒ“แƒ แƒœแƒแƒฎแƒ”แƒ—, แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฌแƒแƒ›แƒจแƒ˜ 3-แƒฏแƒ”แƒ  แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ tarantool-php/แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜!

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, PECL แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒแƒ  แƒ“แƒแƒ˜แƒฌแƒงแƒ ext-async-แƒ˜แƒ—.

แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ SQL-แƒก?

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒกแƒ แƒ“แƒ SQL-แƒก แƒจแƒแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ–แƒฆแƒ•แƒแƒ แƒ–แƒ” แƒ˜แƒงแƒ.

แƒกแƒ•แƒฃแƒšแƒ˜

แƒ™แƒ•แƒšแƒแƒ• แƒ•แƒ˜แƒ’แƒ”แƒ‘แƒ— แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ แƒกแƒ•แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฉแƒ”แƒ แƒ“แƒ”แƒ— 25-แƒ–แƒ”. แƒ’แƒแƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒแƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฎแƒ แƒ˜แƒ™แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช Async แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ˜แƒ— - แƒ’แƒแƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ— 10,000 แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ 25 แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒก แƒจแƒแƒ แƒ˜แƒก. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ— แƒขแƒ”แƒกแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒ“แƒแƒ•แƒงแƒแƒคแƒ— 2 แƒแƒ  แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ“ (แƒแƒœแƒฃ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ 5,000 แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒแƒจแƒ˜ 25 แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒก แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก). แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— SwooleProcess.

แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
Swole แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ“แƒœแƒแƒ• แƒ“แƒแƒ‘แƒแƒš แƒจแƒ”แƒ“แƒ”แƒ’แƒก Async-แƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› 2 แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒแƒ“ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ (แƒœแƒแƒ›แƒ”แƒ แƒ˜ 2 แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒแƒ  แƒแƒ˜แƒ แƒฉแƒ˜แƒ; แƒฉแƒ”แƒ›แƒก แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ” แƒ”แƒก แƒ˜แƒงแƒ 2 แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒแƒฉแƒ•แƒ”แƒœแƒ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜).

แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, Async แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒแƒก แƒแƒกแƒ”แƒ•แƒ” แƒแƒฅแƒ•แƒก API แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒฅ แƒ›แƒ” แƒ•แƒ”แƒ  แƒจแƒ”แƒ•แƒแƒ›แƒฉแƒœแƒ˜แƒ” แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ”แƒ แƒ— แƒแƒœ แƒ›แƒ”แƒข แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒจแƒ˜ (แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒ“แƒ›แƒ” แƒ’แƒแƒ•แƒจแƒแƒšแƒแƒ“แƒ˜).

SQL แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ แƒแƒ’แƒแƒ แƒช Async-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒ“แƒ SQL แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒฆแƒ›แƒแƒ˜แƒคแƒฎแƒ•แƒ แƒ”แƒ‘แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.

แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒ”แƒฎแƒ”แƒ‘แƒ แƒแƒ แƒ แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒ”แƒ‘แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒซแƒแƒคแƒ”แƒ‘แƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ–แƒแƒ›แƒแƒ— แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒฉแƒ”แƒ›แƒก แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ” แƒฃแƒ“แƒ แƒ˜แƒก 16-แƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ”แƒขแƒแƒšแƒแƒœแƒ”แƒ‘แƒ˜ 16 แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ  แƒซแƒแƒคแƒ–แƒ”:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ— (แƒแƒ  แƒฉแƒแƒ•แƒ—แƒ•แƒšแƒ˜แƒ— Swoole-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 2 แƒžแƒ แƒแƒชแƒ”แƒกแƒ–แƒ”). แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› PECL แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, Update แƒ“แƒ Upsert แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ. แƒ”แƒก แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒ— แƒฉแƒแƒ˜แƒจแƒแƒšแƒ - แƒแƒ  แƒ•แƒ˜แƒชแƒ˜, แƒ”แƒก แƒ˜แƒงแƒ ext-parallel-แƒ˜แƒก, ext-tarantool-แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ˜แƒ•แƒ”แƒก แƒ‘แƒ แƒแƒšแƒ˜.

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒแƒ— SQL แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ˜แƒ”แƒ— แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ”แƒ‘แƒ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ—แƒแƒœ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ“ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก?

แƒ”แƒ แƒ—แƒแƒ“

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒฏแƒแƒ›แƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ”แƒ แƒ— แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒจแƒ˜, แƒ แƒแƒ› แƒœแƒแƒฎแƒแƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒฉแƒแƒ แƒขแƒจแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฏแƒ”แƒ  แƒแƒ  แƒ’แƒแƒ’แƒ•แƒ˜แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒ - แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— Async แƒ™แƒแƒ แƒฃแƒขแƒ˜แƒœแƒ”แƒ‘แƒ˜ Parallel*-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ–แƒ”แƒ›แƒแƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ˜ แƒแƒ  แƒ˜แƒฅแƒœแƒ แƒ›แƒ˜แƒฆแƒฌแƒ”แƒฃแƒšแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ.

* แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ Swoole coroutine-แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ Parallel-แƒ˜แƒ—; แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ”แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒฃแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜:

PHP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ Tarantool-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Async, Swoole แƒ“แƒ Parallel แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒฉแƒ”แƒ›แƒ˜ แƒแƒ–แƒ แƒ˜แƒ—, แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฆแƒ˜แƒ แƒกแƒ”แƒฃแƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ แƒ“แƒ แƒ แƒแƒขแƒแƒ›แƒฆแƒแƒช แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒแƒ , แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ–แƒฆแƒ•แƒแƒ แƒ˜! แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ—แƒฃ แƒแƒ แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ” แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ•แƒ˜แƒขแƒงแƒ•แƒ˜, แƒ แƒแƒ› แƒฉแƒ”แƒ›แƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒ˜แƒงแƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— "แƒ’แƒแƒ›แƒแƒฌแƒฃแƒ แƒแƒ—" แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ TCP แƒ™แƒแƒœแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒ—. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜ แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒšแƒแƒ“, แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ• แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก. แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—แƒ แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒชแƒแƒšแƒ™แƒ” แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒ˜.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ