回覆列表
  • 1 # 使用者8639270172513

    官方文件看一看。

    程式設計例項練一練。

    原始碼看一看。

    一般網際網路公司多用mysql,redis,mongodb做儲存層,hadoop,spark做大資料分析。

    mysql適合結構化資料,類似excel表格一樣定義嚴格的資料,用於資料量中,速度一般支援事務處理場合。

    redis適合快取記憶體物件,如快取佇列,用於資料量小,速度快不支援事務處理高併發場合。

    mongodb,適合半結構化資料,如文字資訊,用於資料量大,速度較快不支援事務處理場合。

    hadoop是個生態系統,上面有大資料分析很多元件,適合事後大資料分析任務。

    spark類似hadoop,偏向於記憶體計算,流計算,適合實時半實時大資料分析任務。

    移動網際網路及物聯網讓資料呈指數增長,NoSql大資料新起後,資料儲存領域發展很快,似乎方向都是向大資料,記憶體計算,分散式框架,平臺化發展,出現不少新的方法,如Apache Ignite適合於記憶體計算就集成了好多功能模快,Apache Storm、Spark、Flink也各有特點。

    一般普通應用TB,GB級別達不到PB級別的資料儲存,用mongodb,mysql就夠了,hadoop,spark這類是航母一般多是大規模應用場景,多用於事後分析統計用,如電商的推薦系統分析系統。

    聰明的戰士總是選擇適合的武器。具體什麼場合用什麼資料儲存策略或混合使用,需要分析業務特點及未來業務發展需求來決定。

  • 中秋節和大豐收的關聯?
  • 汽車變速器工作原理有哪些?