Submit Search
Upload
On UnQLite
•
Download as PPT, PDF
•
3 likes
•
6,398 views
C
charsbar
Follow
Presented at Kyoto.pm Tech Talk #5
Read less
Read more
Technology
Report
Share
Report
Share
1 of 21
Download now
Recommended
typemap in Perl/XS
typemap in Perl/XS
charsbar
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
charsbar
2016年のPerl (Long version)
2016年のPerl (Long version)
charsbar
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
charsbar
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.key
Tim Bunce
PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012
Tim Bunce
PL/Perl - New Features in PostgreSQL 9.0
PL/Perl - New Features in PostgreSQL 9.0
Tim Bunce
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
Gleicon Moraes
Recommended
typemap in Perl/XS
typemap in Perl/XS
charsbar
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
charsbar
2016年のPerl (Long version)
2016年のPerl (Long version)
charsbar
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
charsbar
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.key
Tim Bunce
PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012
Tim Bunce
PL/Perl - New Features in PostgreSQL 9.0
PL/Perl - New Features in PostgreSQL 9.0
Tim Bunce
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
Gleicon Moraes
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Jon Moore
Perl Memory Use 201209
Perl Memory Use 201209
Tim Bunce
Working with databases in Perl
Working with databases in Perl
Laurent Dami
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
rjsmelo
Perl at SkyCon'12
Perl at SkyCon'12
Tim Bunce
Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
Tim Bunce
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
julien pauli
Static Typing in Vault
Static Typing in Vault
GlynnForrest
Using ngx_lua in UPYUN
Using ngx_lua in UPYUN
Cong Zhang
Lua tech talk
Lua tech talk
Locaweb
Devinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
PSGI and Plack from first principles
PSGI and Plack from first principles
Perl Careers
"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
Fwdays
DBD::Gofer 200809
DBD::Gofer 200809
Tim Bunce
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
Ismael Celis
Zend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHP
Adam Englander
Information security programming in ruby
Information security programming in ruby
Hiroshi Nakamura
Redis as a message queue
Redis as a message queue
Brandon Lamb
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6
Wim Godden
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
Generated Power: PHP 5.5 Generators
Generated Power: PHP 5.5 Generators
Mark Baker
More Related Content
What's hot
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Jon Moore
Perl Memory Use 201209
Perl Memory Use 201209
Tim Bunce
Working with databases in Perl
Working with databases in Perl
Laurent Dami
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
rjsmelo
Perl at SkyCon'12
Perl at SkyCon'12
Tim Bunce
Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
Tim Bunce
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
julien pauli
Static Typing in Vault
Static Typing in Vault
GlynnForrest
Using ngx_lua in UPYUN
Using ngx_lua in UPYUN
Cong Zhang
Lua tech talk
Lua tech talk
Locaweb
Devinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
PSGI and Plack from first principles
PSGI and Plack from first principles
Perl Careers
"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
Fwdays
DBD::Gofer 200809
DBD::Gofer 200809
Tim Bunce
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
Ismael Celis
Zend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHP
Adam Englander
Information security programming in ruby
Information security programming in ruby
Hiroshi Nakamura
Redis as a message queue
Redis as a message queue
Brandon Lamb
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6
Wim Godden
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
What's hot
(20)
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Perl Memory Use 201209
Perl Memory Use 201209
Working with databases in Perl
Working with databases in Perl
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
Perl at SkyCon'12
Perl at SkyCon'12
Perl Memory Use - LPW2013
Perl Memory Use - LPW2013
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
Static Typing in Vault
Static Typing in Vault
Using ngx_lua in UPYUN
Using ngx_lua in UPYUN
Lua tech talk
Lua tech talk
Devinsampa nginx-scripting
Devinsampa nginx-scripting
PSGI and Plack from first principles
PSGI and Plack from first principles
"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
DBD::Gofer 200809
DBD::Gofer 200809
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
Zend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHP
Information security programming in ruby
Information security programming in ruby
Redis as a message queue
Redis as a message queue
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
Similar to On UnQLite
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
Generated Power: PHP 5.5 Generators
Generated Power: PHP 5.5 Generators
Mark Baker
Blog Hacks 2011
Blog Hacks 2011
Yusuke Wada
Presto anatomy
Presto anatomy
Dongmin Yu
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Anatoly Sharifulin
Modern Getopt for Command Line Processing in Perl
Modern Getopt for Command Line Processing in Perl
Nova Patch
Benchmarking Perl (Chicago UniForum 2006)
Benchmarking Perl (Chicago UniForum 2006)
brian d foy
Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )
Joseph Scott
Php Code Audits (PHP UK 2010)
Php Code Audits (PHP UK 2010)
Damien Seguy
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
NAVER D2
Run Node Run
Run Node Run
Kevin Swiber
Mojolicious - A new hope
Mojolicious - A new hope
Marcus Ramberg
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 Version
Ian Barber
{{more}} Kibana4
{{more}} Kibana4
琛琳 饶
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨
flyinweb
Шардинг заказов корзины каталога Onliner.by
Шардинг заказов корзины каталога Onliner.by
Petr Trofimov
Becoming a better WordPress Developer
Becoming a better WordPress Developer
Joey Kudish
glance replicator
glance replicator
irix_jp
PHP 5.4
PHP 5.4
Federico Damián Lozada Mosto
Talkaboutlithium
Talkaboutlithium
noppoman722
Similar to On UnQLite
(20)
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Generated Power: PHP 5.5 Generators
Generated Power: PHP 5.5 Generators
Blog Hacks 2011
Blog Hacks 2011
Presto anatomy
Presto anatomy
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Modern Getopt for Command Line Processing in Perl
Modern Getopt for Command Line Processing in Perl
Benchmarking Perl (Chicago UniForum 2006)
Benchmarking Perl (Chicago UniForum 2006)
Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )
Php Code Audits (PHP UK 2010)
Php Code Audits (PHP UK 2010)
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
Run Node Run
Run Node Run
Mojolicious - A new hope
Mojolicious - A new hope
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 Version
{{more}} Kibana4
{{more}} Kibana4
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨
Шардинг заказов корзины каталога Onliner.by
Шардинг заказов корзины каталога Onliner.by
Becoming a better WordPress Developer
Becoming a better WordPress Developer
glance replicator
glance replicator
PHP 5.4
PHP 5.4
Talkaboutlithium
Talkaboutlithium
More from charsbar
Common boolean class_for_perl5
Common boolean class_for_perl5
charsbar
2018年夏のPerl5
2018年夏のPerl5
charsbar
萬國之津梁
萬國之津梁
charsbar
2017年夏のPerl
2017年夏のPerl
charsbar
2017年春のPerl
2017年春のPerl
charsbar
Json(::PP) is a-changing
Json(::PP) is a-changing
charsbar
JSON, JSON::PP, and more
JSON, JSON::PP, and more
charsbar
perl language update
perl language update
charsbar
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar
2013年のCPANモジュール作成事情
2013年のCPANモジュール作成事情
charsbar
Analyze CPAN, Analyze Community
Analyze CPAN, Analyze Community
charsbar
Annual Report 2012
Annual Report 2012
charsbar
DBD::SQLite
DBD::SQLite
charsbar
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
charsbar
CPANTS 2012
CPANTS 2012
charsbar
Revisiting ppm
Revisiting ppm
charsbar
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
charsbar
変数、リファレンス
変数、リファレンス
charsbar
關於perl的文件翻譯
關於perl的文件翻譯
charsbar
Practical Bug Reporting
Practical Bug Reporting
charsbar
More from charsbar
(20)
Common boolean class_for_perl5
Common boolean class_for_perl5
2018年夏のPerl5
2018年夏のPerl5
萬國之津梁
萬國之津梁
2017年夏のPerl
2017年夏のPerl
2017年春のPerl
2017年春のPerl
Json(::PP) is a-changing
Json(::PP) is a-changing
JSON, JSON::PP, and more
JSON, JSON::PP, and more
perl language update
perl language update
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
2013年のCPANモジュール作成事情
2013年のCPANモジュール作成事情
Analyze CPAN, Analyze Community
Analyze CPAN, Analyze Community
Annual Report 2012
Annual Report 2012
DBD::SQLite
DBD::SQLite
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
CPANTS 2012
CPANTS 2012
Revisiting ppm
Revisiting ppm
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
変数、リファレンス
変数、リファレンス
關於perl的文件翻譯
關於perl的文件翻譯
Practical Bug Reporting
Practical Bug Reporting
Recently uploaded
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
Recently uploaded
(20)
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
On UnQLite
1.
On UnQLite Kenichi Ishigaki (@charsbar) Kyoto.pm
#5 Jul 13, 2013
2.
http://blog.64p.org/entry/2013/07/05/155212
3.
UnQLite = Not
SQLite
4.
What's Different • Key/Value
Store • Document Store (JSON) • License (2-Clause BSD)
5.
What's Similar • Self-contained •
Cross Platform
6.
Suitable For Toolchains
7.
Usage: Like A Hash tie
my %hash, 'UnQLite', 'foo.db'; $hash{foo} = 'bar'; print $hash{foo};
8.
Usage: OOPs my $db
= UnQLite->open('foo.db'); $db->kv_store(foo => 'bar'); my $v = $db->kv_fetch('foo');
9.
Usage: Iteration my $db
= UnQLite->open('foo.db'); my $cursor = $db->cursor_init; while($cursor->next_entry && $cursor->valid_entry) { my ($key, $data) = ($cursor->key, $cursor->data); ... }
10.
JSON... only for
Jx9 my $db = UnQLite->open(':memory:'); $db->exec(<<'JX9'); db_exists('foo') || db_create('foo'); db_store('foo', [{bar: 'baz'}]) || print db_errlog(); print db_fetch('foo');# {"bar":"baz","__id":0} JX9 say dump $db->kv_fetch('foo'); # ?????
11.
Performance
12.
$ perl bench.pl
--perl --bdb --sqlite 100 10000 (store) Rate sql bdb_hs bdb_bt unq kc unq_m perl sql 23.5/s -- -10% -19% -22% -41% -80% -86% bdb_hs 26.1/s 11% -- -10% -13% -35% -78% -85% bdb_bt 29.0/s 23% 11% -- -4% -28% -75% -83% unq 30.1/s 28% 15% 4% -- -25% -74% -83% kc 40.2/s 71% 54% 39% 33% -- -66% -77% unq_m 118/s 400% 351% 306% 291% 193% -- -32% perl 172/s 633% 560% 495% 472% 329% 47% --
13.
$ perl bench.pl
--perl --bdb --sqlite 10 100000 (store) Rate bdb_hs sql unq bdb_bt kc perl unq_m bdb_hs 1.14/s -- -53% -57% -60% -81% -89% -89% sql 2.43/s 114% -- -8% -15% -59% -76% -77% unq 2.65/s 133% 9% -- -7% -55% -74% -75% bdb_bt 2.87/s 152% 18% 8% -- -52% -72% -73% kc 5.95/s 424% 145% 124% 108% -- -42% -44% perl 10.2/s 798% 320% 285% 256% 71% -- -4% unq_m 10.6/s 836% 338% 301% 271% 79% 4% --
14.
$ perl bench.pl
--perl --bdb --sqlite 10 1000000 (store) s/iter bdb_hs unq sql bdb_bt unq_m kc perl bdb_hs 10.7 -- -32% -61% -65% -81% -83% -87% unq 7.29 47% -- -43% -49% -72% -76% -81% sql 4.17 158% 75% -- -10% -51% -57% -67% bdb_bt 3.74 187% 95% 12% -- -45% -52% -63% unq_m 2.04 426% 257% 104% 83% -- -13% -32% kc 1.78 502% 309% 134% 110% 14% -- -22% perl 1.40 669% 423% 199% 168% 46% 28% --
15.
$ perl bench.pl
--perl --bdb --sqlite 10 10000000 (store) s/iter unq_m bdb_hs unq kc sql bdb_bt perl unq_m 184 -- -38% -51% -67% -77% -78% -91% bdb_hs 114 62% -- -20% -46% -62% -64% -85% unq 91.0 103% 25% -- -33% -53% -55% -82% kc 61.3 201% 86% 48% -- -30% -33% -73% sql 43.1 328% 164% 111% 42% -- -5% -61% bdb_bt 40.9 350% 178% 122% 50% 5% -- -59% perl 16.6 1008% 584% 447% 268% 159% 146% --
16.
$ perl bench.pl
--bdb 100 10000 (fetch) Rate bdb_bt unq bdb_hs kc bdb_bt 40.0/s -- -5% -8% -23% unq 42.2/s 5% -- -3% -19% bdb_hs 43.7/s 9% 3% -- -16% kc 52.1/s 30% 23% 19% --
17.
$ perl bench.pl
--bdb 10 100000 (fetch) Rate bdb_hs bdb_bt unq kc bdb_hs 2.21/s -- -39% -43% -59% bdb_bt 3.60/s 63% -- -7% -33% unq 3.88/s 76% 8% -- -28% kc 5.41/s 145% 50% 39% --
18.
$ perl bench.pl
--bdb 10 1000000 (fetch) s/iter bdb_hs unq bdb_bt kc bdb_hs 4.94 -- -26% -40% -61% unq 3.67 35% -- -19% -48% bdb_bt 2.97 67% 24% -- -35% kc 1.92 158% 92% 55% --
19.
$ perl bench.pl
--bdb 10 10000000 s/iter bdb_hs unq kc bdb_bt bdb_hs 53.2 -- -15% -20% -37% unq 45.0 18% -- -6% -26% kc 42.5 25% 6% -- -22% bdb_bt 33.3 60% 35% 28% --
20.
New storage engines are
coming soon(?)
21.
Further Information http://unqlite.org https://github.com/tokuhirom/UnQLite
Download now