由於這個項目是一個總體邏輯上比較簡單的項目,沒有新東西,但仔細想一想,在解決不一樣問題過程當中,不要停留於爲了解決問題而解決問題。寫這個問題是爲了能在之後碰到相似的問題,我能有相關的經驗;同時可以對所用的知識點都可以串起來。思考是否能用在之後的項目中?java
功能:主要是對兩個不一樣模型的生成數據進行融合後供頁面信息展現。同時還包括對整個項目的移植打包。python
技術棧:框架用的是Springboot,數據庫用的是MongoDBmysql
技術難點(對於我來講):linux
1.數據導入導出:除去可視化界面直接操做,用命令導入導出是:sql
sudo mongoimport --db newdb --collection restaurants --file text.json
sudo mongoexport --db airport -c text --out text.json
複製代碼
2.分片與複製集:docker
若是用mongoDB存儲的話,數據量大,大量讀寫,吞吐量很大的狀況下,單個server很難知足需求,因此須要用到mongoDB分片集羣。(與關係型數據庫中的分區方案對比???)shell
分片:sharding 指的是把數據拆分,將其分散存儲在不一樣的機器上;有時也用partitioning表示這個概念;數據庫
mongoDB支持自動分片 auto sharding;可使得數據庫架構對應用程序不可見,也能夠簡化系統管理。mongoDB自動處理數據在分片上的分佈,也更容易添加和刪除分片。json
分片優勢:
1.對集羣進行抽象,讓集羣對於用戶來講是不可見的後端
2.保證集羣老是能夠讀寫
3.使得集羣易於擴展:當系統須要更多空間和資源,mongoDB可使咱們按需方便的擴充系統容量。
複製集
複製是讓多臺服務器都擁有一樣的數據副本,每一臺服務器都是其它服務器的鏡像,而每個分片和其它分片擁有不一樣的數據子集。
經過不一樣的機器保存副本用於保證數據的不會由於單點損失而丟失,主要用於應對數據丟失,機器損壞帶來的風險;同時能夠提升讀取能力,用戶的讀取服務器和寫入服務器在不一樣的地方,並且不一樣服務器爲不一樣的用戶提供服務,提升整個系統的負載。
複製代碼
主要是防止數據庫崩潰帶來的損失,保證數據庫的高可用。
分區:優化查詢,防止一張表中過多的數據致使查詢緩慢 MongoDB:無分表的概念,能夠用sharding代替分類(sharding有索引的功能)
MySQL:partition
分片:解決物理磁盤空間不足問題(若帶索引,還能夠優化查詢,作到分區的功能)
MongoDB:sharding
Mysql:mysql-cluster
複製:主要是防止數據庫崩潰帶來的損失,保證數據庫的高可用 MongoDB:master 主 slave 從 Mysql:master 主 slave 從
參考原來的博客:juejin.im/post/5c8e48…
3.聚合函數:js 與 java實現
參考原來的博客:juejin.im/post/5cb31c…
1.docker和虛擬機的區別:
2.docker的配置:應用;
3.虛擬機
建立文件
給文件賦權
sudo chmod 777 xxx.sh
複製代碼
os.system("bash -C './xxx.sh'");
複製代碼
1.linux如何查看?
netstat -anp | grep 端口號
複製代碼
在作這個項目的過程當中,雖然使用到的技術都不是很新,可是每次新學的都作了必定的總結。