RE:NODE
ჰოსტინგი

ბაზები6 წუთის საკითხავი

PostgreSQL თუ MongoDB: აირჩიე ფორმის და არა მოდის მიხედვით

კითხვა ისაა, როგორ გამოიყურება შენი მონაცემები და რის კითხვა გჭირდება მათგან. დანარჩენი გემოვნებაა.


ორივე შესანიშნავია და ორივე გაუშვებს იმას, რასაც ააგებ. არჩევანს კიდეებზე აქვს მნიშვნელობა, კიდეები კი მოსალოდნელზე გვიან მოდის — ჩვეულებრივ მაშინ, როცა პირველად დაგჭირდება ისეთი კითხვის დასმა, რომლისთვისაც სქემა არ იყო შექმნილი.

Postgres, როცა კავშირები არსია

  • მონაცემები მკაფიო ერთეულებით, რომლებიც ერთმანეთს მიმართავენ — მომხმარებლები, შეკვეთები, ნივთები.
  • ყველაფერი, სადაც ნახევრად დასრულებული ჩაწერა მიუღებელია. ტრანზაქციები სწორედ ამის მიზეზია.
  • კითხვები, რომლებზეც ჯერ არ გიფიქრია. SQL კარგია იმ კითხვებში, რომლებიც არავის დაუგეგმავს.
  • ანგარიშგება, აგრეგაცია და join-ები რამდენიმე ცხრილს შორის.

MongoDB, როცა დოკუმენტები არსია

  • ჩანაწერები, რომელთა ფორმაც ერთმანეთისგან განსხვავდება.
  • მონაცემები, რომლებიც მთლიანად იკითხება და მთლიანად იწერება, იმ ფორმით, რომელსაც აპლიკაცია უკვე იყენებს.
  • სწრაფი იტერაცია, სადაც სქემა ჯერ კიდევ ყოველკვირეულად იცვლება.
  • მოვლენებისა და ლოგების მონაცემები, სადაც მოცულობა join-ებზე მეტად მნიშვნელოვანია.

გულწრფელი ნაგულისხმევი

თუ ვერ წყვეტ, აიღე Postgres. ის დოკუმენტებსაც შესანიშნავად უმკლავდება JSONB-ით, როცა დაგჭირდება, პირიქით კი არა — დოკუმენტების საცავი, რომელსაც რელაციურად მოქცევას სთხოვ, აპლიკაციის კოდში ხელით დაწერილ join-ებად იქცევა. Postgres-ის არჩევის ფასი, როცა მისი სიმკაცრე არ გჭირდება, გაცილებით დაბალია, ვიდრე პირიქით.