ืืื ืื PHP ืืงืึธืืกืืกืืึทื ืขืก ืืขื ืขื ืืขืจืืืืึทื ืฆืืืื ืงืึทื ืขืงืืขืจื ืคึฟืึทืจ ืืจืืขืื ืืื ืื Tarantool ืกืขืจืืืขืจ - ืืึธืก ืืื ืืขืจ ืืึทืึทืืืขืจ PECL ืคืึทืจืืขื ืืขืจืื ื
ืืื ืืขื ืึทืจืืืงื, ืืื ืืืึธืื ืืื ืฆื ืืืืื ืื ืจืขืืืืืึทืื ืคืื ืคืึธืจืฉืืขืืื ื ืืขืกืืื ื ืคืื ืืืืืข ืืืืืจืขืจืื ืืื ืืืืึทืื ืืื, ืืื ืืื ืืืึทื ืขื ืืขืจืื ืืขื ืฆื ืื ืงืึธื, ืืืจ ืงืขื ืขื ืืขืจืืจืืืื ืึท 3-5 ืคืึธืจืฉืืขืืื ื ืคืึทืจืืจืขืกืขืจื (ืืืืฃ ืกืื ืืขืืืฉ ืืขืกืฅ!).
ืืืึธืก ืืืขืื ืืืจ ืคึผืจืืืืจื?
ืืืจ ืืืขืื ืคึผืจืืืืจื ืื ืืืืื ืืขืจืืื ื ืกืื ืืฉืจืึธื ืึธืืก ืงืึทื ืขืงืืขืจื ืคืืืกื ืืืง ืืืกืื ืืงืจืึทื ืึทืกืื, ืคึผืึทืจืึทืืขื, ืืื ืืืกืื ืืงืจืึทื ืึทืกืื-ืคึผืึทืจืึทืืขื. ๐ ืืืจ ืืืื ืืึธื ื ืืฉื ืืืขืื ืฆื ืคืึทืจืืื ืื ืื ืงืึธื ืคืื ืื ืงืึทื ืขืงืืขืจื ืืื. ืขืก ืืขื ืขื ืืขืจืืืืึทื ืขืืืขืืข ืืงืกืืขื ืฉืึทื ื ืื ืืืฆื ืฆื ืืขืจืืจืืืื ืืืึธืก ืืืจ ืืืืื:
ืกืืืึธื - ืึท ืืืื-ืคืึธืจืฉืืขืืื ื ืืืกืื ืืงืจืึทื ืึทืก ืคืจืืืืืืขืจืง ืคึฟืึทืจ PHP. ืืขืืืืื ื ืืืจื ืึทืืึท ืืื ืืขืจื ืขื ืืืฉืืืึทื ืฅ ืืื ืึทืืืืึทืืึท ืืื ืืึทืืื. ืืื ื ืืืขืจืกืืข 4.1.0 ืึท ืืึทืืืฉ ืืืคึฟื ืืื ืืจืืืก SwooleRuntime::enableCoroutine(), ืืืึธืก ืึทืืึทืื ืืืจ ืฆื "ืืขืจ ืกืื ืืฉืจืึธื ืึธืืก ืคืคึผ ื ืขืฅ ืืืืืจืขืจืื ืฆื ืืืกืื ืืงืจืึทื ืึทืก ืืื ืืืื ืฉืืจื ืคืื ืงืึธื."- Async ืืื ืืขืืืขื ืืื ืืขืฆืื ืก ืึท ืืืืขืจ ืคึผืจืึทืืึทืกืื ื ืคืึทืจืืขื ืืขืจืื ื ืคึฟืึทืจ ืืืกืื ืืงืจืึทื ืึทืก ืึทืจืืขื ืืื PHP. ืคืืจืืืืก ืืื ืืขืฆืื ืก? ืฆืื ืืึทืืืืขืจื, ืคึฟืึทืจ ืึท ืกืืื ืืืืืึทืงืึทื ื ืฆื ืืืจ, ืืขืจ ืืืืจ ืืืืกืืขืืขืงื ืื ืจืืคึผืึทืืึทืืึธืจื ืืื ืืขืจ ืฆืืงืื ืคึฟื ืืืจื ืคืื ืื ืคึผืจืืืขืงื ืืื ืืืงืืึธืจ. ืืื ืืืขื ืืึธืื ืฆื ื ืืฆื ืขืก
ืืืื ืขืจ ืคืื ืคืึธืจืงืก. ืืื Swoole, ืืขื ืคืึทืจืืขื ืืขืจืื ื ืึทืืึทืื ืืืจ ืฆื ืืืืื ืืืขื ืื ืืืื ืืืืื ืืื ืึท ืคืืืง ืคืื ืืขื ืืึทื ืืืขืืขื ืง ืฆื ืืขืื ืืืกืื ืืงืจืึทื ื ืืืจื ืจืืคึผืืืืกืื ื ืื ื ืึธืจืืึทื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื TCP ืืื TLS ืกืืจืืื ืืื ืืืืขืจ ืืืกืื ืืงืจืึทื ืึทืก ืืืขืจืกืืขืก. ืืึธืก ืืื ืืขืืื ืืืจื ืื ืึธืคึผืฆืืข "async.tcp = 1". ืคึผืึทืจืึทืืขื โ ืึท ืืึทื ืฅ ื ืฒึทืข ืคึฟืึทืจืืขื ืืขืจืื ื ืคึฟืื ืืขื ืืึทืงืึทื ืื ืืืฉืึธื ืืืึทืืงืื ืก, ืืืืจ ืคึฟืื ืึทืืขืืืข ืืืืืืึธืืขืงื ืืื phpdbg, apcu, pthreads, pcov, uopz. ืื ืคืึทืจืืขื ืืขืจืื ื ืืื ืึทื ืึทืคึผื ืคึฟืึทืจ ืืืืืืืืจืขืึทืืื ื ืืื PHP ืืื ืืื ืคึผืึทืืืฉืึทื ื ืืื ืึท ืคืึทืจืืืึทื ืคึฟืึทืจ ืคึผืืืจืขืึทืืก. ื ืืึทืืืืืืง ืืึทืืจืขื ืขืฆืื ื ืคืื ืืขืจ ืืืืืืึธืืขืง ืืื ืึทื ืขืก ืึทืจืืขื ืืืืื ืืื ืื ZTS (Zend Thread Safe) ืืืขืจืกืืข ืคืื โโโโPHP.
ืืื ืืืขืื ืืืจ ืคึผืจืืืืจื?
ืืึธืืืจ ืงืึทืืขืจ ืึท Tarantool ืืืึทืฉืคึผืื ืืื ืฉืจืืึทืื ืคืึธืจืืืก ืืึธืืื ื ืคืึทืจืงืจืืคึผืื (ืืืึทื_ืืึธืืข = ืืึธืจื ืื) ืืื ืืขืืืืงืกื ื ืขืฅ ืืึทืคืขืจ (ืืืืขื ืขื ืคืึธืจืืืก = 1 * 1024 * 1024). ืืขืจ ืขืจืฉืืขืจ ืึธืคึผืฆืืข ืืืขื ืขืืืืื ืืจื ืื ืึทืจืืขื ืืื ืื ืืืกืง, ืื ืจืืข ืืืขื ืืึทืื ืขืก ืืขืืืขื ืฆื ืืืืขื ืขื ืืขืจ ืจืืงืืืขืก ืคืื ืื ืึทืคึผืขืจืืืืื ื ืกืืกืืขื ืืึทืคืขืจ ืืื ืืขืจืืื ืืื ืึทืืืื ืื ื ืืืขืจ ืคืื ืกืืกืืขื ืงืึทืืืก.
ืคึฟืึทืจ ืืขื ืืฉืืึทืจืงืก ืืืึธืก ืึทืจืืขื ืืื ืืึทืื (ืื ืกืขืจืฉืึทื, ืืืืืฉืึทื, ืืืืขื ืขื, ืืื"ื ื), ืืืืืขืจ ืืืจ ืึธื ืืืืื ืืขื ืืขื ืืฉืืึทืจืง, ืึท ืืขืืืงืก ืคึผืืึทืฅ ืืืขื ืืืื (ืฉืืึทืขื) ืืืฉืืคื, ืืื ืืืึธืก ืื ืขืจืฉืืืง ืืื ืืขืงืก ืืืึทืืืขืก ืืขื ืขื ืืืฉืืคื ืืืจื ืึท ืืขื ืขืจืึทืืึธืจ ืคืื ืึธืจืืขืจื ืื ืืึทืืืฉืขืจ ืืืึทืืืขืก. (ืกืืงืืืึทื ืก).
ืื ืคึผืืึทืฅ 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 ืจืืข ืคึผืืืืข ืฆืืืืฉื ืืืขืจืืืฉืึทื ื ืฆื ืคืึทืจืืืึทืื ืื ืคึผืจืึทืกืขืกืขืจ ืคืื ืืขืจืื. Lua ืก ืืืกื ืงืึทืืขืงืืขืจ ืืื ืคืึทืจืงืจืืคึผืื ืืืืืขืจ ืืขืืขืจ ืืืขืจืึทืืืึธื ืืื ืืื ืืขืฆืืืื ืืขื ืฆื ืึธื ืืืืื ื ืึธื ืขืก ืงืึทืืคึผืืืฅ. ืืขืจ ืคืคึผ ืคึผืจืึธืฆืขืก ืืื ืืึธื ืืฉื ืืืืื ืืื ืื ืืงืกืืขื ืฉืึทื ื ื ืืืืืง ืคึฟืึทืจ ืื ืืขื ืืฉืืึทืจืง, ืืื ืจืขืืืืืึทื ืืึทืคืขืจืื ื ืขื ืืืืึทืื ืืื ืื ืืืกื ืงืึทืืขืงืืขืจ ืคืึทืจืงืจืืคึผืื.
* ืื ื ืืืขืจ ืคืื ืจืขืืืึทืืืฉืึทื ื, ืืืขืจืืืฉืึทื ื ืืื ืืขืืช ืฉืืืขื ืงืขื ืขื ืืืื ืืฉืืื ืืืฉื ืืื ืื ืืขื ืืฉืืึทืจืง ืกืขืืืื ืืก.
ืืขืกื ืกืืืืืืข
ืื ืจืขืืืืืืื ืืจืืืก ืืื ืื ืืขื ืขื ืืขืืืื ืืืืฃ ืึท ืืึทืงืืึธืึธืงืคึผืจืึธ (2015), ืึธืคึผืขืจืืืืื ื ืกืืกืืขื - ืคืขืืึธืจืึท 30 (ืงืขืจื ืขื ืืืขืจืกืืข 5.3.8-200.fc30.x86_64). Tarantool ืืื ืืึธื ืืฉื ืืื ืืึธืงืงืขืจ ืืื ืืขื ืคึผืึทืจืึทืืขืืขืจ "--network host"
.
ืคึผืขืงื ืืืขืจืกืืขืก:
Tarantool: 2.3.0-115-g5ba5ed37e
ืืึธืงืงืขืจ: 19.03.3, ืืืืขื ืึท872fc2f86
PHP: 7.3.11 (ืงืื) (ืืขืืืื: 22 ืืงืืืืขืจ 2019 08:11:04)
ืืึทืจืึทื ืืึธืึธื / ืงืืืขื ื: 0.6.0
ืจืืืึทืงืื/ืืกืืคึผืึทืง: 0.6.1
ืขืงืกื-ืืึทืจืึทื ืืึธืึธื: 0.3.2 (+ ืืึทืืข ืคึฟืึทืจ 7.3)*
ืขืงืกื-ืืกืืคึผืึทืง: 2.0.3
ืขืงืกื-ืึทืกืื ืง: 0.3.0-8c1da46
ืขืงืกื-ืกืืืึธืึธื: 4.4.12
ืขืงืกื-ืคึผืึทืจืึทืืขื: 1.1.3
* ืฆืื ืืึทืืืืขืจื, ืืขืจ ืืึทืึทืืืขืจ ืงืึทื ืขืงืืขืจ ืืื ื ืืฉื ืึทืจืืขืื ืืื PHP ืืืขืจืกืืข> 7.2. ืฆื ืืึทืืืขื ืืื ืืืืคื ืื ืคืึทืจืืขื ืืขืจืื ื ืืืืฃ PHP 7.3, ืืื ืืขืืื ืฆื ื ืืฆื
ืจืขืืืืืึทืื
ืกืื ืืฉืจืึธื ืึธืืก ืืึธืืข
ืื Tarantool ืคึผืจืึธืืึธืงืึธื ื ืืฆื ืึท ืืืื ืขืจื ืคึฟืึธืจืืึทื
ืืืืืขืจ ืืืจ ืคืึทืจืืืืืื ืงืึทื ืขืงืืขืจื, ืืืจ ืืืขืื ืืขืกืื ืื ืคืึธืจืฉืืขืืื ื ืคืื MessagePack ืขื ืงืึธืืขืจืก ืคึฟืึทืจ ืื PHP ืงืึทื ืขืงืืขืจ ืืื ืืื ืืืืึทืืขืจ ืืขืกืฅ ืืืจ ืืืขืื ื ืืฆื ืื ืืืึธืก ืืืืึทืื ืื ืืขืกืืขืจ ืจืขืืืืืึทื:
ืืึธืืฉ ืื PHP ืืืขืจืกืืข (ืจืืื) ืืื ืขืจืืขืจ ืฆื ืื PECL ืคืึทืจืืขื ืืขืจืื ื ืืื ืืืืงืืึทื, ืืื ืคืึทืงืืืฉ ืคึผืจืึทืืืฉืขืงืก ืืื ืืืึธืื ื ืึธื ืจืขืงืึธืืขื ืืืจื ื ืืฆื ืขืก
ืึทืืื, ืืึธืืืจ ืืขืกืื ืื ืคืึธืจืฉืืขืืื ื ืคืื ืงืึทื ืขืงืืขืจื ืืื ืกืื ืืฉืจืึธื ืึธืืก ืืึธืืข:
ืืื ืืืจ ืงืขื ืขื ืืขื ืคึฟืื ืื ืืจืึทืคืืง, ืื PECL ืงืึทื ืขืงืืขืจ (Tarantool) ืืืืืื ืืขืกืขืจ ืคืึธืจืฉืืขืืื ื ืงืึทืืคึผืขืจื ืืื ืื PHP ืงืึทื ืขืงืืขืจ (ืงืืืขื ื). ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืืืฉ, ืืืืึทื ืื ืืขืฆืืข, ืืื ืืขืจืฆื ืฆื ืืืื ืืืคึผืืึทืืขื ืึทื ืืื ืึท ืกืืึธืืขืจ ืฉืคึผืจืึทื, ืืึทืงืข ืึทืจืืขื ืืขืจ: ืึท ื ืืึทืข ืืืืคืขืฅ ืืื ืืืฉืืคื ืืื ืืขืืขืจ ืจืืคื ืืขืื ะธ ืขื ืืคืขืจ (ืืื ืืขื ืคืึทื ืคืื ืกืขืืขืงื - ืืืื ืงืจืืืขืจืืึท, ืืื ืืื ืืขื ืคืึทื ืคืื ืืขืจืืืึทื ืืืงื / ืึทืคึผืขืจื - ืึธืคึผืขืจืึทืืืึธื ืก), ืืึทืืื ืืขืจืข ืขื ืืืืื ืฉืืึทืืขืก, ืคึผืึทืงืขืจ ะธ ืืึทื ืืืขืจ ืืื ืืืื ืืืืื ืึธืืืืขืจืืขื. ืืึธื, ืืืืืืงืืึทื ืงืืื ืฆื ืึท ืคึผืจืืึทื. ืึธืืขืจ, ืืื ืึทืืืขืืืื, ืื PHP ืืืขืจืืขืฆืขืจ ืืืืืื ืืื ืคืึธืจืฉืืขืืื ื, ืืึธืืฉ ืขืก ืืื ืึท ืืืืืง, ืขืก ืืื ื ืืฉืืืง ืืื, ืืึธืืขืจ, ืืืขื ืืืื ืืคืืื ืืืืื ืืงืขืจ ืืืขื ืืืจ ื ืืฆื ืคึผืจืขืืึธืึทืืื ื ืืื PHP 7.4, ื ืื ืฆื ืืขืจืืึธื ืขื JIT ืืื PHP 8.
ืืืืืจ ืืืืืืขืจ ืืืื. Tarantool 2.0 ืฆืืืขืืขืื ืฉืืืฆื ืคึฟืึทืจ SQL. ืืึธืืืจ ืคึผืจืืืืจื ืฆื ืืืจืืคืืจื ืื ืกืขืืขืงื, ืึทืจืืึทื ืืืืื, ืืขืจืืืึทื ืืืงื ืืื ืืืกืืขืงื ืึทืคึผืขืจืืืฉืึทื ื ื ืืฆื ืื SQL ืคึผืจืึธืืึธืงืึธื ืืื ืคืึทืจืืืืึทืื ืื ืจืขืืืืืึทืื ืืื ืื noSQL (ืืืื ืขืจื) ืืงืืืืืืึทืืึทื ืฅ:
ืื SQL ืจืขืืืืืึทืื ืืขื ืขื ื ืืฉื ืืืืขืจ ืืืคึผืจืขืกืืื (ืืึธืื ืืืจ ืืขืจืืึธื ืขื ืืืจ ืึทื ืืืจ ืืขื ืขื ื ืึธื ืืขืกืืื ื ืกืื ืืฉืจืึธื ืึธืืก ืืึธืืข). ืึธืืขืจ, ืืื ืืืึธืื ื ืืฉื ืืึทืงืืืขื ืืืขืจืงืขืจื ืืืขืื ืืขื ืคืจืืขืจ; SQL ืฉืืืฆื ืืื ื ืึธื ืืื ืืขืจ ืึทืงืืืื ืึทื ืืืืืงืืื ื (ืืขืคืืขืจืขื ืืขืฆืื ืก, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืฉืืืฆื ืืื ืฆืืืขืืขืื
ืึทืกืื ืง
ื ื, ืืืฆื ืืึธืื ืืื ืื ืืขื ืืื ืื Async ืคืึทืจืืขื ืืขืจืื ื ืงืขื ืขื ืืขืืคึฟื ืืื ืื ืคึฟืึทืจืืขืกืขืจื ืื ืจืขืืืืืึทืื ืืืืื. ืฆื ืฉืจืืึทืื ืืืกืื ืืงืจืึทื ืึทืก ืืืืื, ืื ืคืึทืจืืขื ืืขืจืื ื ืืื ืึทื ืึทืคึผื ืืืืืจื ืืืืฃ ืงืึธืจืึธืืืื ืขืก, ืืืึธืก ืืืจ ืืืขืื ื ืืฆื. ืืืจ ืืขืคึฟืื ืขื ืขืืคึผืืจืืงืื ืึทื ืื ืึธืคึผืืืืึทื ื ืืืขืจ ืคืื ืงืึธืจืึธืืืื ื ืคึฟืึทืจ ืืื ืืืขืจ ืกืืืืืืข ืืื 25:
"ืคืึทืจืฉืคึผืจืืืื" 10,000 ืึทืคึผืขืจืืืฉืึทื ื ืืืืขืจ 25 ืงืึธืจืึทืืืื ืขืก ืืื ืืขื ืืืึธืก ืืึทืคึผืึทื ื:
ืื ื ืืืขืจ ืคืื ืึทืคึผืขืจืืืฉืึทื ื ืคึผืขืจ ืกืขืงืื ืืข ืืขืืืืงืกื ืืื ืืขืจ ืืื 3 ืืื ืคึฟืึทืจ
ืฆืื ืืึทืืืืขืจื, ืื PECL ืงืึทื ืขืงืืขืจ ืืื ื ืืฉื ืึธื ืืืืื ืืื ืขืงืกื-ืึทืกืื ืง.
ืืืึธืก ืืืขืื SQL?
ืืื ืืืจ ืงืขื ืขื ืืขื, ืืื ืืืกืื ืืงืจืึทื ืึทืก ืืึธืืข ืื ืืืืืง ืฆืืืืฉื ืื ืืืื ืขืจื ืคึผืจืึธืืึธืงืึธื ืืื ืกืงื ืืื ืืขืืืืจื ืื ืืขืจ ืืจืขื ืขืฅ ืคืื ืืขืืช.
ืกืืืึธื
ืืืืืขืจ ืืืจ ืืขืคึฟืื ืขื ืื ืึธืคึผืืืืึทื ื ืืืขืจ ืคืื ืงืึธืจืึธืืืื ื, ืืึธืก ืืึธื ืคึฟืึทืจ Swoole:
ืืืืืจ ืืื ืืคืฉืืขืื ืืื 25. ืืืืืจ ืืืืขืจืืืจื ืืขื ืืขืืื ืงืื ืฅ ืืื ืืื ืื ืืกืื ืง ืคืืจืืขื ืืขืจืื ื - ืคืืจืฉืคืจืืืื 10,000 ืืคืขืจืืฆืืขืก ืฆืืืืฉื 25 ืงืืจืืืื ืขืก. ืืื ืืขืจืฆื, ืืืจ ืืืขืื ืืืืื ืื ืื ืืขืจ ืคึผืจืึธืืข ืืื ืืืึธืก ืืืจ ืืืขืื ืืืืื ืึทืืข ืื ืึทืจืืขื ืืื 2 ืฆืืืื ืคึผืจืึทืกืขืกืึทื (ืืึธืก ืืื, ืืขืืขืจ ืคึผืจืึธืฆืขืก ืืืขื ืืืจืืคืืจื 5,000 ืึทืคึผืขืจืืืฉืึทื ื ืืื 25 ืงืึธืจืึทืืืื ืขืก). ืคึผืจืึทืกืขืกืึทื ืืืขื ืืืื ืืืฉืืคื ื ืืฆื SwooleProcess.
ืจืขืืืืืึทืื:
ืกืืืึธืืข ืืืืืื ืึท ืืืกื ื ืืืขืจืืงืขืจ ืจืขืืืืืึทื ืงืึทืืคึผืขืจื ืืื ืึทืกืื ืง ืืืขื ืคืืืกื ืืืง ืืื ืืืื ืคึผืจืึธืฆืขืก, ืึธืืขืจ ืืื 2 ืคึผืจืึทืกืขืกืึทื ืื ืืืื ืขื ืืขืจืื ืืขื ืืจืึทืืึทืืืงืื (ืื ื ืืืขืจ 2 ืืื ื ืืฉื ืืืืกืืขืจืืืืืื ืืืจื ืฆืืคืึทื; ืืืืฃ ืืืื ืืึทืฉืื, ืขืก ืืื ืืขืืืขื 2 ืคึผืจืึทืกืขืกืึทื ืืืึธืก ืืขืืืืื ืืขืจ ืืขืกืืขืจ ืจืขืืืืืึทื).
ืืืจื ืืขื ืืืขื, ืื Async ืคืึทืจืืขื ืืขืจืื ื ืืืื ืืื ืึท API ืคึฟืึทืจ ืืจืืขืื ืืื ืคึผืจืึทืกืขืกืึทื, ืึธืืขืจ ืืึธืจื ืืื ืืื ื ืืฉื ืืึทืืขืจืงื ืงืืื ืืืืืง ืคืื ืคืืืกื ืืืง ืืขื ืืฉืืึทืจืงืก ืืื ืืืื ืึธืืขืจ ืืขืจ ืคึผืจืึทืกืขืกืึทื (ืขืก ืืื ืืขืืืขื ืึทื ืืื ืืขืกื ืืื ืขืจืืขืฅ).
SQL ืืืก ืืืื ืขืจื ืคึผืจืึธืืึธืงืึธื:
ืืื ืืื ืึทืกืื ืง, ืื ืืืืืง ืฆืืืืฉื ืืืื ืขืจื ืืื ืกืงื ืึทืคึผืขืจืืืฉืึทื ื ืืื ืืืืืึทื ืืืืึทื ืืื ืืืกืื ืืงืจืึทื ืึทืก ืืึธืืข.
ืคึผืึทืจืึทืืขื
ืืื ื ืื ืคึผืึทืจืึทืืขื ืคืึทืจืืขื ืืขืจืื ื ืืื ื ืืฉื ืืืขืื ืงืึธืจืึธืืืื ืขืก, ืึธืืขืจ ืืืขืื ืคึฟืขืืขื, ืืึธืืืจ ืืขืกืื ืื ืึธืคึผืืืืึทื ื ืืืขืจ ืคืื ืคึผืึทืจืึทืืขื ืคึฟืขืืขื:
ืขืก ืืื 16 ืืืืฃ ืืืื ืืึทืฉืื. ืืึธืืืจ ืืืืคื ืงืึทื ืขืงืืขืจ ืืขื ืืฉืืึทืจืงืก ืืืืฃ 16 ืคึผืึทืจืึทืืขื ืคึฟืขืืขื:
ืืื ืืืจ ืงืขื ืขื ืืขื, ืืขืจ ืจืขืืืืืึทื ืืื ืืคืืื ืืขืกืขืจ ืืื ืืื ืืืกืื ืืงืจืึทื ืึทืก ืืงืกืืขื ืฉืึทื ื (ื ืื ืงืึทืื ืืื ื Swoole ืคืืืกื ืืืง ืืืืฃ 2 ืคึผืจืึทืกืขืกืึทื). ืืึทืืขืจืงืื ื ืึทื ืคึฟืึทืจ ืื PECL ืงืึทื ืขืงืืขืจ, ืื ืึทืคึผืืืื ืืื ืืคึผืกืขืจื ืึทืคึผืขืจืืืฉืึทื ื ืืขื ืขื ืืืืืืง. ืืึธืก ืืื ืจืขืื ืฆื ืืขื ืคืึทืงื ืึทื ืื ืึทืคึผืขืจืืืฉืึทื ื ืืขื ืขื ืืืจืืืขืงืึธืื ืืื ืึท ืืขืืช - ืืื ืืึธื ื ืื ืืืืกื ืืืื ืขืก ืืื ืืขืืืขื ืื ืฉืืื ืคืื ืขืงืกื-ืคึผืึทืจืึทืืขื, ืขืงืกื-ืืึทืจืึทื ืืึธืึธื ืึธืืขืจ ืืืืืข.
ืืืฆื ืืึธืื ืก ืคืึทืจืืืืึทืื SQL ืคืึธืจืฉืืขืืื ื:
ืืึทืืขืจืงื ืื ืขื ืืขืืงืืื ืืื ืื ืืจืึทืคืืง ืคึฟืึทืจ ืงืึทื ืขืงืืขืจื ืคืืืกื ืืืง ืกืื ืืฉืจืึธื ืึธืืกืื?
ืฆืืืึทืืขื
ืืื ืืขืกืึธืฃ, ืืึธืื ืก ืกืึทืืขืจืืื ืึทืืข ืื ืจืขืืืืืึทืื ืืื ืืืื ืืจืึทืคืืง ืฆื ืืขื ืื ืงืืืืขืืืืง ืืืื ืคึฟืึทืจ ืื ืืขืกืืขื ืืงืกืืขื ืฉืึทื ื. ืืึธืืืจ ืฆืืืขืื ืืืืื ืืืื ื ืืึทืข ืคึผืจืึธืืข ืฆื ืื ืืฉืึทืจื, ืืืึธืก ืืืจ ืืึธืื ื ืึธื ื ืืฉื ืืืจืืืขืงืึธืื - ืืึธืืืจ ืืืืคื ืึทืกืื ืง ืงืึธืจืึธืืืื ื ืคึผืึทืจืึทืืขื ืืื ืคึผืึทืจืึทืืขื *. ืืขืจ ืืขืืึทื ืง ืคืื ืื ืืึทืืจืืืืื ื ืื ืืืืื ืืงืกืืขื ืฉืึทื ื ืืื ืฉืืื
* ืขืก ืืื ื ืื ืืขืืืขื ืฆื ืงืึทืืขืจ Swoole ืงืึธืจืึธืืืื ืขืก ืืื ืคึผืึทืจืึทืืขื; ืขืก ืืืื ื ืึทื ืื ืืงืกืืขื ืฉืึทื ื ืืขื ืขื ืื ืงืึทืืคึผืึทืืึทืืึทื.
ืึทืืื, ืื ืืขืฆื ืจืขืืืืืึทืื:
ืึธื ืฉืืึธื ืึท ืืกืงื ื
ืืื ืืืื ืืืื ืื ื, ืื ืจืขืืืืืึทืื ืืขื ืขื ืืขืืืขื ืืึทื ืฅ ืืืขืจื, ืืื ืคึฟืึทืจ ืขืืืขืืข ืกืืื ืืื ืืื ืืืืขืจ ืึทื ืืึธืก ืืื ื ืืฉื ืืขืจ ืฉืืขืืจ! ืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืฉืืืกื ืืขื ืืื ืึท ืคืึทืงืืืฉ ืคึผืจืืืขืงื ืืืืื ืคึฟืึทืจ ืืื, ืืื ืืืขื ื ืึธืจ ืืึธืื ืึทื ืคึฟืึทืจ ืืืจ ืขืก ืืื ืืขืืืขื ืึท ืืฉืืงืึทืืืข ืขืงืกืคึผืขืจืืืขื ื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืึธืคึผืฉืึทืฆื ืืื ืคืื ืืืจ ืงืขื ืขื "ืงืืืขืืฉื" ืืืืก ืคืื ืึท ืกืื ืืฉืจืึธื ืึธืืก ืืงืคึผ ืงืึทื ืขืงืืขืจ ืืื ืืื ืืืึทื ืื. ืืืื ืืืจ ืืึธื ืืืืืึทื ืคึฟืึทืจ ืืืคึผืจืืืืื ื ืืขื ืืฉืืึทืจืงืก, ืืื ืืืขื ืืืื ืฆืืคืจืืื ืฆื ืืึทืืจืึทืืื ืืืื ืฆืืขื ืืขืื. ืื ืงืึธื ืืื ืงืึทืืขืจ ืื ืกืืจืึทืงืฉืึทื ื ืืื ืจืขืืืืืึทืื ืืื ืืจืืืก ืืื ืึท ืืึทืืื ืืขืจ
ืืงืืจ: www.habr.com