-
1 # 尹洪亮Kevin
-
2 # huzibbs
你說的是程式碼儲存,還是成品軟體儲存資料,一般有以下方式儲存資料。
1.儲存軟體設定資訊,一般為配置檔案形式,比如.ini,.config等等,直接寫檔案到磁盤裡,軟體每次啟動時讀取檔案裡面相關健值。或者直接寫登錄檔裡。
2.資料資訊,一般都是以資料庫形式儲存到檔案或者連線資料庫儲存到資料庫裡面的,讀的時候直接從資料庫檔案或者連線資料庫讀。
-
3 # 做一個理性的青年
作為軟體開發人員,我說一下我們儲存資料的形式吧。
首先,後臺會對你的資料進行一個分類,用不用的資料型別來表示資料。不同的資料有不同的儲存方式。
第一:很多文字內容相關的會已物件的方式存到一個後臺資料庫中,後臺資料庫從專業角度來說分為(關係型和非關係)。
第二:對於檔案(圖片,文件,Excel)來說,後臺會有一個檔案資料庫,只需要給檔案放到一個資料夾下面,命名一個特殊的名稱,用於標識檔案。
第三:當然有很多既有圖片,又有文字這種交叉的資料,後臺會根據不同的編輯器進行一個提取儲存到資料庫中。
-
4 # 大熊學程式設計
大部分軟體的後臺資料一般儲存在資料庫裡,個別軟體會把資料儲存到本地檔案裡,如筆記類軟體。
資料庫分為大型資料庫如mysql,oracle,db2,會以服務的方式啟動,可以透過網路進行存取資料,還有本地小型資料庫sqlite,可以在本地進行存取。
-
5 # pengpenhhh
資料分兩類
1.配置資料,一般軟體開發都有很多的配置資訊,比如依賴資訊,資料庫連線資訊等等,這些都是以檔案的形式儲存在伺服器上
2.資料展示資訊,這部分資訊一般是放在資料庫裡,關係型資料庫或者是非關係型,為什麼要放在資料庫裡呢?因為資料庫滿足查詢資料需要的幾大需求
首先就是穩定性,頁面查詢肯定是希望每次查詢結果一致,並且使用者量上去之後,查詢多了之後,仍然能保持穩定不崩潰,同時還能儲存在硬碟上,即使斷電,也能恢復
第二個就是快速性,頁面的查詢響應速度,沒有人會接受頁面查詢之後,幾分鐘才出結果吧,所以資料庫做了很多的最佳化,比如索引,分割槽,或者乾脆採用更加快速的列式儲存,來滿足查詢效率
總結 軟體開發所用的資料基本都是儲存在資料庫上的,資料庫的優點或者說出現的目的就是為了儲存資料
-
6 # 小馬過河Vizit
資料的儲存方式有很多種。根據不同的需求可以做出不同的選擇。我們以開發一個問答系統為例,來介紹一下他們的不同使用場景和方法。
關係型資料庫利用關係型資料庫比如MySQL,是最常用的一種方式。剛開始開發一個簡單的問答系統。你就可以建幾張表:
上面的實體關係圖是我剛用PlantUML畫的一個簡化版,幫助理解。原始碼在這裡:
@startuml!define Table(name,desc) class name as "desc" << (T,#FFAAAA) >>!define primary_key(x) <b>x</b>!define unique(x) <color:green>x</color>!define not_null(x) <u>x</u>hide methodshide stereotypes" entitiesTable(users, "users\n(儲存使用者資訊)") {primary_key(id) INTEGERnot_null(unique(username)) VARCHAR[32]not_null(password) VARCHAR[64]age SMALLINTgender SMALLINTbirthday DATETIME}Table(questions, "questions\n(儲存問題資訊)") {primary_key(question_id) INTEGERnot_null(unique(user_id)) INTEGERtitle VARCHAR[255]content VARCHAR[2048]creationTime DATETIMEupdateTime DATETIME}Table(answers, "answers\n(儲存問題的答案)") {primary_key(answer_id) INTEGERprimary_key(question_id) INTEGERnot_null(unique(user_id)) INTEGERcontent VARCHAR[2048]creationTime DATETIMEupdateTime DATETIME}" relationships" one to may relationship, 一對多的關係users --> questions : "1個使用者提了多個問題"users --> answers : "1個使用者寫了多個問題的答案"questions --> answers : "1個問題有多個答案"@enduml我是用VSCODE的外掛畫的:
設計好表之後就可以在MySQL裡面建表。
如果你用Java做,可以利用JPA框架做資料儲存。簡單的可以利用MyBatis。MyBatis是一個Java持久化框架,它透過XML描述符或註解把物件與SQL語句關聯起來,簡單、容易上手。建議剛開始可以利用這個練練手。
複雜一些的可以利用Hibernate。Hibernate是一個開放原始碼的物件關係對映框架,如果你喜歡面向物件的程式設計,那就可以利用Hibernate把你設計的物件對映到資料庫的各個表,方便存取。但是這個相對複雜,學習起來比較花時間。
NoSQL你也可以利用NoSQL資料庫,也非常簡單。比如mongodb. mongodb是一個基於分散式檔案儲存的開源資料庫系統。你可以把上面的表都設計成JSON文件,直接儲存在mongodb裡面。
全文檢索 elasticsearch
如果要支援全文檢索,你需要用Elasticsearch。Elasticsearch是一個分散式的全文搜尋引擎。
快取 Redis如果你的使用者量大了,要提高系統的訪問速度。你需要用到各種快取技術比如redis。
訊息系統 Kafka如果你的系統發展壯大了,又開發出很多其他的系統。比如推薦系統,稽核系統。你的各個系統之間需要訊息通訊。你還需要用到訊息系統 Kafka。
分散式儲存 Hadoop HDFS隨著你的使用者的增加,內容的增加,你的網站每天產生幾百GB甚至幾百TB的資料。你就需要用到分散式儲存 Hadoop。
總結根據系統的不同需求和不同發展階段,可以選擇不同的儲存方式。如果是一開始為了驗證自己的產品的想法,也就是做PoC (prove of concept),那就可以選擇簡單易用的,比如MySQL,MongoDB等。等將來系統發展了,根據需要再升級儲存方式,比如ES,redis,kafka還有hadoop。
上面說的各種儲存方式都支援各種程式語言,Java,Python,Ruby,NodeJS等等。簡單易用。
如果是個人學習技術,建議從簡單的開始,做一個小的專案,比如我給的問答的例子。慢慢體會不同的技術的不同使用方法和應用場景。
-
7 # 只說程式碼的大餅
軟體開發時資料在後臺是如何儲存的?
軟體的出現我覺得就是為了快速處理資料,所以啊你的問題很好。現在我給你解答下軟體操作中對應的資料是怎樣儲存的。
資料儲存形式分為如下幾種:
1.小軟體一般可能就不使用資料庫了,而是直接使用
.txt、.xml、json等檔案進行永續性保存於硬碟中。
2.不需要永續性儲存的資料,可能就只是儲存在記憶體中,記憶體中資料操作快。
3.大型軟體永續性儲存資料一般都會使用資料庫,例如Oracle、mysql、SqlServer等常用資料庫,這種儲存形式的好處就是有sql語句操作資料,方便操作。
總結:
不管是第一點中的檔案型別還是第三點的資料庫型別儲存資料,其實都是以檔案形式儲存在硬盤裡的。只是資料庫型別的檔案好操作。
-
8 # 使用者6123728000544
最直接的是檔案,比如csv;
結構化的用資料庫,比如mysql
半結構化的用nosql,比如mangodb。
如果是key value,還可以用etcd。
回覆列表
用我的經驗,換您的時間,下面只回答重點:
2、資料從前端透過網路傳遞給後端,後端程式執行儲存操作。
3、資料需要儲存,必須經過序列化,然後儲存到儲存到持久化裝置上,一般說的就是磁碟。
4、儲存到硬碟上有很多種方式,可以透過檔案儲存、也可以透過資料庫儲存。
5、透過資料庫儲存,本質上也是儲存到磁碟的檔案內。資料庫只是一個軟體,將資料有序的進行儲存和組織,讓他們相互關聯。
6、資料庫儲存當然也有很多種,mysql、oracle、sqlserver、mongodb等等。
總結:後端儲存資料本質上就是儲存到磁碟的檔案上,區別在於用什麼儲存而已。後端程式都有儲存資料的介面可以使用,這些介面與作業系統之間互動,完成最終的資料儲存。