Database Schema Design

SQL (Structured Query Language)

  • λ°μ΄ν„°λ² μ΄μŠ€μžμ²΄λ₯Ό λ§ν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ λ°μ΄ν„°λ² μ΄μŠ€μ™€ μƒν˜Έ μž‘μš©ν•˜λŠ” 데 μ‚¬μš© ν•˜λŠ” 쿼리 μ–Έμ–΄λ₯Ό λ§ν•œλ‹€.

  • ν…Œμ΄λΈ” ν˜•μ‹

  • λŒ€λΆ€λΆ„μ˜ 경우, SQL λ°μ΄ν„°λ² μ΄μŠ€λŠ” μˆ˜μ§ν™•μž₯이 κ°€λŠ₯ν•˜κΈ°λ•Œλ¬Έμ— CPU, RAM, SSD와같은 것을 μ¦κ°€μ‹œν‚΄

  • 사전 μ •μ˜ 된 μŠ€ν‚€λ§ˆ

  • μ€‘λ³΅λ˜λŠ” 데이터가 μ—†λ‹€.

NoSQL (Not only SQL)

  • 비관계 λ°μ΄ν„°λ² μ΄μŠ€

  • ν‚€ value, λ¬Έμ„œ, μ»¬λŸΌλ°” 및 κ·Έλž˜ν”„ ν˜•μ‹μ„ ν¬ν•¨ν•œ λ‹€μ–‘ν•œ 데이터 λͺ¨λΈμ„ μˆ˜μš©ν•  수 μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€ 섀계에 λŒ€ν•œ 접근방식이닀.

    • key - value : μ—μ–΄λ‘œμŠ€νŒŒμ΄ν¬(Aerospike), Riak

    • Column Family: Cassandra

    • Document: MongoDB

    • Graph: Neo4j, InfiniteGraph

    • Column Family: HBase

  • λ°˜λ©΄μ— NoSQL λ°μ΄ν„°λ² μ΄μŠ€λŠ” μˆ˜ν‰ 적으둜 ν™•μž₯ κ°€λŠ₯ν•©λ‹ˆλ‹€. 즉, λ°μ΄ν„°λ² μ΄μŠ€μ— μ„œλ²„λ₯Ό μΆ”κ°€ν•˜κΈ° λ§Œν•˜λ©΄ 더 λ§Žμ€ νŠΈλž˜ν”½μ„ 처리 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • μ΄λŸ¬ν•œ μ°¨μ΄λŠ” 같은 건물에 측을 λŠ˜λ¦¬λŠ” 것과, 건물 μ˜†μ— 건물을 μƒˆλ‘œ μΆ”κ°€ν•˜λŠ” 차이와 κ°™μŠ΅λ‹ˆλ‹€.

  • κ΅¬μ‘°ν™”λ˜μ§€ μ•Šμ€ 데이터에 λŒ€ν•œ 동적 μŠ€ν‚€λ§ˆ

shell

직접 mongodb와 λͺ…λ Ήμ–΄λ‚ λ €μ„œ μž‘μ—…ν•˜λŠ”κ²ƒ. ν™•μΈν•˜κ±°λ‚˜,

show dbs

λ‚΄ 컴퓨터에 μžˆλŠ” dbμ’…λ₯˜λ“€μ„ 보여쀀닀.

use test
show collections
db.articles.find()
db.articles.insert()
db.articles.find().pretty()
db.articles.remove({})
db.createCollection(name)
mongoimport --db dbName --collection collectionName --file fileName.json --jsonArray
db.collection.insertMany()

Last updated

Was this helpful?