
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。感兴趣的话点击此处,了解一下
关于数据库的相关内容,可以到亿万克官网进行深入的了解,亿万克集服务器和存储等数据中心产品的研发、生产、销售、服务系统整合于一体,是民族高科技制造企业领导品牌 ,所有产品和技术完全拥有自主知识产权,应用领域涵盖云计算、数据中心、边缘计算、人工智能、金融、电信、教育、能源等,为客户提供全方位安全自主可控技术服务保障。
近期在巡检线上环境mongodb服务时,发现有个400G容量的mongodb,使用容量超过200%,与DBA沟通,数据量快上TB,副本集数据量太大,节点宕机,维护比较麻烦,建议升级为分片mongodb。
应用使用mongodb的场景是接收广告点击数据存储到mongodb保留30天。之后有转化数据会匹配归因查询存储到mongodb的点击数据。
文档存储结构为:android_id,imei,oaid,idfa,caid,parter_code(媒体类型),ts(点击时间),ip等
写入数据:
安卓设备:android_id,imei,oaid,idfa,caid,parter_code(媒体类型),ts(点击时间),ip等,
iphone设备:idfa,caid,parter_code(媒体类型),ts(点击时间),ip等
查询数据
安卓:根据android_id,imei,oaid匹配查询点击数据
iphone:根据idfa(可能为多个)匹配查询点击数据
在转为分片mongodb集群时,发现因存在多条件查询,分片键难以确定。最终决定将单表拆分为索引表和内容表(缺点:数据存在冗余)
索引表:device_id,内容表的id(当安卓设备同时有android_id和imei时,存储为两条记录)
内容表:id,android,imei,oaid,idfa,caid,parter_code(媒体类型),ts(点击时间),ip等
写入数据:
先写入点击内容表,在写入索引表
查询数据:
先查询索引表得到内容表id,在根据内容表id查询得到点击内容
常用数据库有mysql、oracle、sqlserver、sqlite等。
1、Oracle数据库
Oracle数据库管理系统是由甲骨文(Oracle)公司开发的,在数据库领域一直处于领先地位。目前,Oracle数据库覆盖了大、中、小型计算机等几十种计算机型,成为世界上使用最广泛的关系型数据管理系统(由二维表及其之间的关系组成的一个数据库)之一。
2、SQLServer数据库
SQLServer是由微软公司开发的一种关系型据库管理系统,它已广泛用于电子商务、银行、保险、电力等行业。SQLServer提供了对XML和Internet标准的支持,具有强大的、灵活的、基于Web的应用程序管理功能。
3、DB2数据库
DB2数据库是由IBM公司研制的一种关系型数据库管理系统,主要应用于OS/2、Windows等平台下,具有较好的可伸缩性,可支持从大型计算机到单用户环境。
4、MongoDB数据库
MongoDB是由10gen公司开发的一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似JSON的bjson格式,因此可以存储比较复杂的数据类型。
5、MySQL数据库
MySQL数据库管理系统是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。
6、Sybase数据库
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。
问题在这里 number1和number2都是int类型的 number1+number2=3 然后 3/2 这里是int类型的除法,也就是整除,返回的是int类型的,也就是1 要想得到你预期的结果可以写成 double avg = (double)(number1 + number2)/2;
以上就是关于MongoDB是一个基于分布式文件存储的数据库,为WEB应用提供高性能的数据存储解决方案;全部的内容,包括:MongoDB是一个基于分布式文件存储的数据库,为WEB应用提供高性能的数据存储解决方案;、一次线上应用使用单机mongodb升级为分片mongodb过程记录、数据库有哪几种等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)