Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对比phoenix的优势 #15

Open
cmdares opened this issue Apr 4, 2019 · 4 comments
Open

对比phoenix的优势 #15

cmdares opened this issue Apr 4, 2019 · 4 comments

Comments

@cmdares
Copy link

cmdares commented Apr 4, 2019

phoenix 是首选的hbase sql解决方案,需要了解下我们数据库和phoenix方案对比的优势,感谢。

Sent with GitHawk

@waterguo
Copy link
Owner

waterguo commented Apr 6, 2019

AntsDB 和 Phoenix 都是 HBase 上的 SQL 解决方案,但是针对不同的场景,有如下几点不同

  1. AntsDB 和 MySQL 高度兼容,您可以使用任何 MySQL 在任何操作系统上,任何语言上的驱动程序连接 AntsDB. 我们支持 Windows, Linux, Mac, JDBC, ODBC, PHP, Python, C/C++ 等等。 Phoenix 使用的专门开发的 JDBC 驱动程序,接口的数量和 AntsDB 相差甚远

  2. AntsDB 可以兼容诸多开源闭源的工具和开发框架,例如 MySQL 命令行, Navicat, DBeaver, Squirrel, Spring, SnoarQube, Mediawiki, Wordpress 等等。 相对而言,适用于 Phoenix 的工具和应用就少多了。

  3. AntsDB 支持复杂事务,包括跨表跨行事务,事务回滚,表锁,行锁,可以用来实现复杂的应用逻辑,所以 AntsDB 和其他主流关系型数据库一样,能够通过 TPC-C 测试,这是 Phoenix 目前欠缺的.

  4. AntsDB 支持全文检索,Phoneix 不能

  5. AntsDB 的设计目标是低延迟和强一致事务,在大部份情况下,延迟比 Phoenix/HBase 快十倍,响应速度和并发和主流数据库例如 MySQL, PGSQL 处于同一水准。

  6. 但是 AntsDB 目前处理大批量数据和复杂查询的效率不够高,如果用户有此类需求,可以使用 Spark/SparkSQL 在 AntsDB 的数据上直接处理。而 Phoenix 在这方面做的很好,不论实时查询还是复杂查询都可以在 Phoenix 里面处理。

如果您还有疑问,请告诉我

@cmdares
Copy link
Author

cmdares commented Apr 7, 2019

二级索引方面,希望您在给仔细对比下。

Sent with GitHawk

@cmdares
Copy link
Author

cmdares commented Apr 7, 2019

还有大量数据bulkload方面,对比如何?

Sent with GitHawk

@waterguo
Copy link
Owner

waterguo commented Apr 9, 2019

二级索引两者区别不是很大,但是 AntsDB 的索引和表操作是又事务控制的,强一致。Phoenix 在极端情况下二级索引和数据会不一致。

bulkload 没有直接对比,您可以参考一下我们的数据载入测试 https://antsdb.com/en/blog/2018/05/03/353.
在小规模集群下,两者的瓶颈都在 HBase 层

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants