为什么Impala要使用C++语言,而不是Java?
一、为什么Impala要使用C++语言,而不是Java
1.其实Impala是:Java前端与C++处理后端 这种形式的。
2.我们知道:Java是不能够直接在操作系统层面上运行的,但是C++可以。这就导致了C++的性能比Java高那么一些,Impala如果是个追求性能的偏执狂的话,它自然不会放过一丁点的优化可能(其实,如果它用Java实现,也不是不行,毕竟现在Java 8的出现,使得java与C++在性能上的差异进一步缩小。你看,Presto不就是用Java实现的吗,Presto与Impala比起来性能一点也不差!)。
3.会Java的人比会C++的人多很多,Impala既然付“失大众取小众”的代价,也要坚持性能至上的原则,想必他们对自己的产品还是很有自信的:就算我不亲民,但因为我的性能上的诱惑,你还是回来用我~
4.也许是对未来的预期。多少年来,对分布式系统来说,最大的瓶颈是IO(磁盘IO和网络IO),而不是CPU。似乎随着未来硬件技术的发展,IO将不再是分布式系统的主要瓶颈。这就使得CPU的计算能力将重新成为分布式系统的主要瓶颈,而两者中,C++是更会利用CPU的那一个,所以,在分布式领域,似乎未来在理论上是C++的天下······(这当然是一派人的观点。而我的观点不是这样的,我认为未来的发展趋势是机器要去迁就人,而不是人去迁就机器,要让人放下简单易用多生态的Java,不是那么容易的)
延伸阅读:
二、字符集(Character set)是什么
是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同。
特点:
①字符编码方式是用一个或多个字节表示字符集中的一个字符
②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制
常见字符集:
ASCII字符集:基于罗马字母表的一套字符集,它采用1个字节的低7位表示字符,高位始终为0。
LATIN1字符集:相对于ASCII字符集做了扩展,仍然使用一个字节表示字符,但启用了高位,扩展了字符集的表示范围。
GBK字符集:支持中文,字符有一字节编码和两字节编码方式。
UTF8字符集:Unicode字符集的一种,是计算机科学领域里的一项业界标准,支持了所有国家的文字字符,utf8采用1-4个字节表示字符。

猜你喜欢LIKE
相关推荐HOT
更多>>
千万级用户的实时问答网站用什么语言,数据库和服务器有什么要求?
一、千万级用户的实时问答网站用什么语言,数据库和服务器有什么要求语言方面,可以选择像 Java、Python、Go 等支持高并发的编程语言。其中,Ja...详情>>
2023-10-15 20:29:42
目前主流的ERP系统开发软件是什么?
一、目前主流的ERP系统开发软件1、SAP ERPSAP是全球名列前茅的企业软件公司,其SAP ERP系统是较广泛应用的企业级解决方案之一。SAP ERP提供了全...详情>>
2023-10-15 17:10:14
为什么“去O”唯有PostgreSQL?
一、“去O”唯有PostgreSQL的原因“去O”是指”去Oracle”,即替代Oracle数据库。这种说法是因为在替代Oracle数据库的选择中,PostgreSQL是一个...详情>>
2023-10-15 14:47:53
mysql的MEMORY引擎为什么没有redis的应用广泛?
一、mysql的MEMORY引擎为什么没有redis的应用广泛从kv缓存的作用看,mysql优点不在kv缓存上,用它做kv缓存维护成本高,redis安装启动使用简单,...详情>>
2023-10-15 12:03:13热门推荐
为什么Impala要使用C++语言,而不是Java?
沸为什么使用Redis做缓存而不会使用关系型数据库?
热假设mysql的两条连接同时发送对同一个表同一条记录的update语句,mysql会怎么处理?
热为什么Redis先执行指令,再记录AOF日志?
新MySQL日均10万数据永久保存实现高可用可以采用什么方案?
Oracle数据库与SQL Server数据库有何区别?
千万级用户的实时问答网站用什么语言,数据库和服务器有什么要求?
为什么说“对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈”?
手机APP开发适合哪些行业?
left join 涉及多个关联条件时写在on后面与where后面有什么区别?
Linux下有什么工具可以分析出一个程序的运算时间分布?
oracle数据库为什么按cpu个数收费?
主流web开发技术有哪些?
系统功能架构图和数据库建模一般用什么工具?
技术干货






