大数据时代,对于数据的压缩和检索的要求也越来越高。而对于数据库我们总是希望在系统资源一定的前提下能够:第一,存储的数据更多,因此这个世界上出现了各种压缩算法。第二,访问的速度更快,更快的 压缩(写)/解压(读) 算法,更大的缓存。
对于普通的以数据块/文件为单位的压缩,传统的(流式)数据压缩算法工作得不错,时间长了,大家也都习惯了这种数据压缩的模式。基于这种模式的数据压缩算法层出不穷,不断有新的算法被实现出来。
在计算机的远古时代,内存的性能、容量,与磁盘的性能、容量,泾渭分明,各种应用对性能的需求也比较小,大家各司其职相安无事。
然而随着ssd,PCIe ssd,3d xpoint……的出现,内存变得越来越大,块压缩的缺点也愈发突出,具体表现在:块选小了,压缩率不够,块选大了,性能无法忍,更要命的是块压缩,节省的只是更大更便宜的磁盘和ssd,更贵更小的内存不但没有节省反而更加浪费(双缓存问题)。因此在很多对实时性要求较高的场景下我们不得不放弃压缩。然而一家名为Terark的公司,试图通过其自主研发的技术解决这一问题。
如上文所说,Terark想要解决数据压缩和存储的问题。按照传统的块/文件为单位的压缩方式,往往需要先解压再查询,但Terark推出的技术除了具有高压缩率之外,还可以让用户在数据时进行实时检索,避免传统的先解压后查询的问题。据CEO付新元介绍,Terark的压缩率是传统的5-100倍。
值得一提的是Terark将数据和索引融为一体,从而提高性能、节省存储空间。举个例子来说,用户在手机上搜索关键词时除了可以搜索到来自短信、邮件等内容外,还可以检索到邮箱附件里的内容。
另外,Terark还支持在海量数据流中实时监测关键词和复杂规则。其适用于信息监测、信息安全、数据预处理、基因监测、垃圾邮件过滤以及网络数据包监测设备等诸多场景。
付新元告诉36氪,目前这些技术可以应用在云、互联网、企业的数据存储和检索分析方面;硬件上的存储与索引;数据安全检测和过滤;数据库与各种数据系统的的存储引擎……方面。’
在采访中付新元强调,Terark不是在做一款新的数据库,而是做更加底层的压缩、存储、搜索技术。因此Terark和数据库厂商也不是竞争关系,而是通过技术的开放为数据库提供更高的性能。
目前Terark与许多互联网企业选用的MonggoDB数据最为适配,集成TerarkDB存储引擎的MongoDB在提升了内存效率、降低IO压力,提升了数据压缩率、增加容量、降低延迟以及提升吞吐量。再配合MongoDB本身的数据库功能和运维能力,Terark版本的MongoDB具有高可用、可扩展的分布式数据库。
在商业模式方面,其核心的的压缩、索引技术可以与云、手机、智能硬件的厂商合作,落地在实际的应用场景中,而其TerarkDB可以和企业大数据、云、CDN、行业合作,为存储引擎提供更高的性能和容量。除此之外,Terark还为企业提供完整的数据库解决方案。