发布网友 发布时间:2022-04-22 04:47
共3个回答
热心网友 时间:2022-04-09 19:17
如何选择数据库
一般来讲,数据分析的查询不会直接从生产环境的数据库来读取数据,一方面是影响线上性能,另一方面是OLTP的表结构设计更多的是面向插入,而不是读取。如何来选择合适的数据库做数据分析呢?本文给出了四方面的考量,抛砖引玉。
1. 客户要分析什么样的数据
2. 客户分析的数据量是多少
3. 客户工程师团队技术背景,运维能力
4. 预期的数据分析的响应时间
客户要分析什么样的数据
上文已简单介绍了关系型数据库和非关系型数据库的区别,这里就不再赘述。下图是一个简单的分类。
客户分析的数据量是多少
用户需要分析的数据量越大,就越应该考虑非关系型数据库。
上图给出了选择合适数据库的思路。不同的数据库处理数据的能力不同。如果你打算处理1T以下的数据,那么可以使用Postgres或者MySQL,但如果数据量增大到5T以上,需要在扩展性方面下些功夫。当然,各个数据库厂商也在不断的优化性能,像微策略这样的BI平台也在紧跟各个厂商的步伐,对各个数据库的特性进行深入的研究,把数据库新特性运用到BI产品中,给客户深入分析各个数据库的优势劣势, 确保为客户提供最大的投入产出比。
客户工程师团队技术背景,运维能力
客户需要了解自己技术团队的人员结构、技术偏好。如果有强大的技术团队,关系型和非关系型数据库都可选择。一般来讲,非关系型数据库需要更多管理维护的时间。如果没有足够的运维人员,可以选择像Postgres, Google SQL (a hosted MySQL option) 或者 Segment Warehouses (a hosted Redshift) 这样的数据库,要优于Redshift, Aurora or BigQuery等。如果运维人员充足,可以选择Redshift等,为以后强大的扩展性做好准备。从另一个角度来说,分析半结构化数据是也是比较普遍的需求。这样就对数据科学家的技能提出了更大的挑战。面向对象的编程背景,精通Python/R 等语言也是对客户工程师团队的重要考量。
预期的数据分析的响应时间
比如像欺诈检测、系统监控等实时数据分析需要的数据分析相应时间有严格的要求。其他的数据分析比如像电子商务网站的用户留存分析等,并没有实时响应的严格要求。客户需要结合自己的用户场景,来选择合适的数据仓库。如果绝大部分的分析是基于已有的数据,对数据的实时性没有特别高的要求,建议用户选择像Redshift or BigQuery这样的数据库,对数据的读取和合并做了大量的优化。如果客户对实时性要求非常高,可以考虑非结构化的数据库方向和内存数据库方向。
当然,选择用什么样的数据库做数据仓储,只是第一步。以实时分析为例,需要从数据仓库,数据湖,计算引擎等架构方面做出通盘的考虑。
热心网友 时间:2022-04-09 20:35
商业Oracle,微软SQLServer,免费MySQL
不过还得看看需求吧,数据库不是编程语言不能用哪个更好来区分,主要是看你平时的工作需求,规模大小,还有就是应用场景。。
不过如果是新手的话可以从云数据库网页链接开始了解,可根据不同场景不同需求搭建应用一下有一个最起码的认识。
相对于传统的数据库搭建,云数据库有一个后台控制面板,通过控制面板实时见监控操作数据库,等于省了一个运维人员,而且后台的操作简洁易用,学习成本比较低。那它来入门最好不过了。
热心网友 时间:2022-04-09 22:09
常用的数据库一般是分为三种: (一)、Access (二)SQL Server (三)MySQL, Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。 access数据库有一定的...