甲骨文公司最重要的两个产品,Oracle数据库和JAVA,全面收费不可能!
阿里早在08年就发起了去IOE的工作!I指得是IBM的小型机,O指的是ORACLR的数据库,E指的是EMC的存储!现在阿里的数据库使用是MySQL,用的是自己开发的数据存储引擎AliSQL,数据监控达到了秒级!并且,在18年11月,亚马逊也公布即将不再使用Oracle的数据库,这也致使全面收费的不可能。
MySQL是ORACLE的,但是MySQL是可以自己定制存储引擎的,最常用的引擎Innodb和MYISAM,然后阿里有了自己的MySQL引擎!另外,MySQL可以集群,利用副本冗余来保证系统高可用!而ORACLE则不支持副本冗余,若想ORACLE支持集群,就必须购买ORACLE RAC,并且,听ORACLE的工程师说,若不采用他们的服务器,可能数据库出现故障进行切换时,时间最长达到一分钟!这样显然不适合电子商务平台!
之所以选择MySQL是因为它的灵活,支持高可用的分布式架构,支持定制化,并且不收费,因为MySQL内核用的就是开源社区提供的,收费的可能性不高!
现在的架构多以分布式架构为主,微服务架构为辅的架构模式,这就意味着系统的高可用性很重要,现在大都选择CAP理论中的可用性和分区容错性的架构实现,而以最终一致性作为系统设计的目标!
数据库实际上扮演的角色也并不是特别重要了,伴随着一些NoSQL缓存中间件的使用,数据库也只是在写入的时候才会用到,读的场景大多多于写入的场景,即读多写少!另外就是数据库中间件的成型,比如Cober,MyCAT,sharding-sphere等等这些几乎可以实现数据库的一些分库分表,数据同步等等对分布式数据库的要求!
至于ORACLE的JDK,也就是JAVA SE,其中使用最多的依然是openjdk,开发者或者企业只要关注于openjdk的使用,国内现在还处在JAVA8阶段,并且还不成熟,针对ORACLE的举动,估计是想遏制一下国内的JAVA行业发展,JAVA8之后,JAVA才是飞跃!函数式编程理念的兴起,Reactive异步化编程模型的兴起会在JAVA8中体现,都会是JAVA语言一个新的里程碑,性能不亚于C++!总而言之,JDK是不会收费的!
另外,如果不使用ORACLE的JAVA EE,而用第三方开源的,比如Spring,也不会面临收费,阿里是以Spring为主的!很多框架都基于Spring,至于怎么收费,这个貌似影响不大!毕竟开源的队伍是庞大的!
Spring5是Spring的里程碑,SpringBoot是Spring的飞跃,摆脱了JAVA EE的束缚,有了可替代的JAVA EE产品,适用于MVC的框架模型,也适用于Reactive异步化的编程模型,集成了Restful API!Servlet被Webflux替代,JSP被Thylemeaf可替代等等,Spring的强大有目共睹!因此,不惧收费!
阿里的团队还是很强大的,这样强大的队伍,绝对不会让别人掐住命脉!