上海免费网站建设品牌,wordpress主题安装失败下载失败,高港网站建设,wordpress quora上一篇文章#xff0c;把这个架构的起因#xff0c;和操作系统的选择进行了详细说明。原文地址#xff1a;15分钟从零开始搭建支持10w用户的生产环境(一)二、数据库的选择对于一个10W用户的系统#xff0c;数据库选择很重要。一般来说#xff0c;这个用户量#xff0c;根… 上一篇文章把这个架构的起因和操作系统的选择进行了详细说明。原文地址15分钟从零开始搭建支持10w用户的生产环境(一) 二、数据库的选择对于一个10W用户的系统数据库选择很重要。一般来说这个用户量根据不同的应用会形成单表年度400W~4000W条的数据量。在这个数据量下我们需要相对大型的数据库。可供选择的主流数据库类别数据库关系型数据库MySQL, SQL Server for Linux, Oracle, DB2, PostgreDBNoSQL数据库Radis, HBase, MongoDB具体数据库的区别分析网上有很多文章这儿就不再多讨论。 在现在讨论的这个架构下有几个要求数据库要是免费的数据库的安装要简单数据库的使用要方便。这个使用包括管理和开发最重要的一点是数据后期可扩展成分布式架构以保证在不改动代码的情况下支持B、C轮的数据:P。在这个要求下我们选择MongoDB作为主数据库。MongoDB的官网https://www.mongodb.comMongoDB最新版下载https://www.mongodb.com/download-center/communitycommunity版和professional版本最大的区别是pro版有InMemoryDB模式可以依托大内存建立存放在内存中的数据库文件。一般应用社区版足够。 先看看MongoDB的安装有多简单第一步下载数据库以4.2.6 for Debian版本为例wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian92-4.2.6.tgz
下载完成后打开压缩包tar xvf mongodb-linux-x86_64-debian92-4.2.6.tgz -C /your_folder
我们会得到以下文件-rw-r--r-- 1 test test 30608 Apr 17 11:10 LICENSE-Community.txt
-rw-r--r-- 1 test test 16726 Apr 17 11:10 MPL-2
-rw-r--r-- 1 test test 2617 Apr 17 11:10 README
-rw-r--r-- 1 test test 75405 Apr 17 11:10 THIRD-PARTY-NOTICES
-rw-r--r-- 1 test test 183512 Apr 17 11:13 THIRD-PARTY-NOTICES.gotools
drwxr-xr-x 2 test test 4096 Apr 20 19:29 bin
bin目录中有以下文件-rwxr-xr-x 1 test test 12715648 Apr 17 11:12 bsondump
-rwxr-xr-x 1 test test 7694 Apr 17 11:36 install_compass
-rwxr-xr-x 1 test test 47998920 Apr 17 11:36 mongo
-rwxr-xr-x 1 test test 73240640 Apr 17 11:36 mongod
-rwxr-xr-x 1 test test 17526720 Apr 17 11:12 mongodump
-rwxr-xr-x 1 test test 17277000 Apr 17 11:12 mongoexport
-rwxr-xr-x 1 test test 17242056 Apr 17 11:12 mongofiles
-rwxr-xr-x 1 test test 17452192 Apr 17 11:12 mongoimport
-rwxr-xr-x 1 test test 17879808 Apr 17 11:13 mongoreplay
-rwxr-xr-x 1 test test 17851848 Apr 17 11:12 mongorestore
-rwxr-xr-x 1 test test 40628464 Apr 17 11:36 mongos
-rwxr-xr-x 1 test test 17029440 Apr 17 11:12 mongostat
-rwxr-xr-x 1 test test 16707368 Apr 17 11:12 mongotop
其中mongo是个shell用来操作数据库。mongod是单个数据库的服务程序每个数据库都需要一个mongod进程。mongos是集群的路由和入口做集群时必须要用到。别的都是一些管理工具可以慢慢了解。第二步安装启动MongoDB本身是一个绿色软件上一节的下载和解压就是安装的过程了。下面是启动数据库。./mongod --dbpath your_database_folder_path
MongoDB运行只需要一个数据库文件的存放目录。当你看到命令执行后出现一大篇内容其中有两行I NETWORK [listener] Listening on 127.0.0.1
I NETWORK [listener] waiting for connections on port 27017
的时候恭喜你数据库已经上线了。 简单不但是一定要记着运行简单并不等于这是个Access一样的小东西。这是个大型的基于文档的NoSQL数据库 如果想查询各个命令都有什么参数可以在命令后边加 --help 来查询。例如./mongod --help
里面有详细的说明。 下面列几个常用的参数--config 配置文件。MongoDB除了直接用命令行参数外也可以把参数写在一个配置文件中然后在config参数引用这个配置文件--port MongoDB默认端口是27017可以改成任何端口--logpath 默认数据库日志是输出到终端的可以改为保存到文件也可以不用这个参数而在命令行重定向--bind_ip MongoDB默认绑定IP是127.0.0.1可以改成任意IP地址--db_path 数据库文件的保存目录下面我们检查一下数据库的安装是否正确。我们用mongo连到数据库进行操作$ ./mongo localhost:27017
MongoDB shell version v4.2.5use TestDB
switched to db TestDBdb.collection.insert({user:test1})
WriteResult({ nInserted : 1 })db.collection.insert({user:test2})
WriteResult({ nInserted : 1 })db.collection.find()
{ _id : ObjectId(5ea0279699857fc83ddf6ef5), user : test1 }db.collection.find({user:test2})
{ _id : ObjectId(5ea029a599857fc83ddf6ef6), user : test2 }exit在这一节的最后补充两个问题扩展性上面介绍的是单MongoDB数据库的安装。这是最简单的一种形式也是应用最多的一种形式。如果数据很重要为了防止任何情况的数据丢失可以采用 Master N Slave 的方式做主从结构把同样的多个库放到多个服务器上互为备份。同时这种方式还可以实现读写分离。如果数据量再大则可以把数据库扩展成集群用以增加数据库的容量并提升访问性能。安全上面介绍安装的时候采用的默认端口。在实际使用时可以改换一个端口减少被扫描攻击的机率。另外数据库默认安装时是不检查用户的。换言之就是任何人都可以连到数据库。如果用在生产服务器上一定要在数据库中建议用户和权限以保证阻挡非法的访问。MongoDB的安全问题我会单独写一篇文章来说敬请关注。未完待续您的赞赏是我最大的鼓励I will be more solid with your donations