ááľáłááť. áľááááá áśáá á ááá ááľáĽ áááľ áŤáá áááá˛áľ á˛áá á á áá áá á á ááľáĽ á¨á°áááá á¨áŠáŁááŤáá á¨áááľ á áááááľ áłáá˘ááľ áá áĽá¨á°áŤ ááᢠá áĽááááá á°áááŞá áłáłááá˝ áááľ á¨áá°á á°ááłá ááľá áŁá°á¨áá á áá á˝áá á DBMS (áĽá á ááłááľ áá á á á ááá á¨á°á¨ááá áľáááśá˝) á áá á¨áá á´áááŤá ááááŽá˝á á 17 ááĽáŚá˝ á°áĽáľáŁáá˝ áá á ááľáá /á°ááá á áááŹá˝áá˝ ááá˘áá˝ áááľ ááľáĽ áŤáľááŁáá˘
á áĽááááš á¨áŽáááŠá°á á˛áľá°áá˝ áááłá¸áá áá¨áłá°áá áĽá á áá
áá á¨áľ á ááľ ááááľ á¨áá¨á áá¨ááť áľáááľ áŤáľáááá¸ááᢠáĽáᨠáááá´á áá° á¨ááἠááĽááľ áĽá ááá¨áĽ ááááŤáľ á¨áá á¨ááľá áľá
á°áśá˝á á ááľáŤáľ áľá á¨ááἠááłáá˝ áĽáááľá áá¨á
á áá á á¨áá˝áťááᢠá¨áá°á áá á áŤáá áá¨áá á ááŤáľáŹáą áľáááśá˝ ááľáĽ á¨ááἠááłáá˝ á áľáááą á ááá´áá¸á áĽááĽááľ áá áááá áĽá áĽáŠáá áááľá áááá¨áĽ áĽáá° ááá á áŤá ááá áŤáááááᢠááá áĽááłá ááłáłá¤á áĽáŤá á¨áá°á áľáŠá¨áľ á˘á°á áá, á¨áá°áá áŞáŤ ááá˘áá˝ áááááľ á¨ááááŠáľ á˝ááŽá˝ áĽááá áá á¨á á¨áś ááá áŤá áĽáť áá¸á. á áá
á°á¨áłáłá ááŁáĽáá˝ ááľáĽ á áá
ááľá áአáááá ááá˘áá˝ á áá á¨áá á ááłááľ ááłáŚá˝á á áŤááááá˘
- 99,999% á¨áááá á ááłá¨ áá¨áĄ á˝áá áŤááá ᨠáĽáľáá áááľá˘
- á á˛á˛ áááľ áĽá á¨á°ááŤáŠ áááŽá˝ áááľ ááá˘
- áĽáŤááłááą á¨ááἠááł ááĽááľ áĽá ááááá ááá¨ááἠá¨áŤáą áá´áá˝ á ááľá˘
- á¨á°ááá°áá ááá á á á áľá¸á᪠á áááá áľ áá áĽáŠá áááľ áá° ááłá áááŁá.
- á¨ááťáť ááŁáĽ áĽá á¨ááἠááĽááľ á á°á¨á᪠ááá˝ áŤáá°áááą áááŽá˝ á áá˘
- á¨áá¨á ááą áĽá á°á ááá áááá á áľáááľ áá°áľ áá á ááľáááá˘
- á¨áá°áá áŞáŤ á°á¨á áťáá˛áá á¨áá°áá áŞáŤá áá ááááłááľ áá˝ááá˘
- áŤáľá áá¨áá á á°áá ááá áá˝áá.
- á¨áᨠááἠá áá ááá áá˝áá áĽá áááá á áŤáľáááááá˘
- áááŁáľ áááááá á¨áá áááŽá˝ á¨á°áááą áá¸áá˘
- áááá¨áľ áĽá áľáááá˝ á ááľá˘
- áá ááľ á¨á°áá°á ááĽááľ á¨á ááťá¸á ááľáááśá˝ ááááá á ááŁá¸áá˘
- á¨áá ááĽááśá˝ á á°áá ááá áá˝ááá˘
- ááĽááśá˝ á¨áááá¨áť áááł áá ááŤáŤá á¨ááŁá¸ááá˘
- á¨áá áá áĽá áľ á ááŞáá˝ áľá áłáłá¤á áĽá ááááŠááľ áá˝ááá˘
- á¨ááľáá áá ááá°áľ á áľá¸á᪠áá, áá ááťáá.
- á áá¨á ááą ááľáĽ ááá á¨áá áá᪠áŤáá°á á á áááł áá¨ááá áŤáľá¨áľááá˘
á˘ááá¤á áŚá´áŹáᣠáŹáá áááŞá˝áľá áĽá ááá˝á á áá á˝áá áá°ááľ áĽáľá áá áá°áĄáľ á áľá°áŤá¨áľ ááá°ááá¸á áĽááłááá˘
99,999% á¨áááá á ááłá¨ áá¨áĄ á˝áá áŤááá ᨠáĽáľáá áááľá˘
áĽáŤáá áá áŤá á áááá á¨á ááłá¨ áá¨áĽ á´áááááá˝ á áľá°ááá áĽáá°áá áĽá á á ááłá¨ áá¨áĽ áĽáá˝áśá˝ ááááŤáľ áľáááśá˝ áá áŤá á áá áĽáá°ááááľ áá. á áá ááłá áá áŤáá áá¨á á áŁá á ááł áá áĽá áááá áĽááá áá áአá ááłá¨ áá¨áŚá˝, ááłáŞáŤáá˝ áĽá á°áŤá°áá˝ áŁáá¸á áľááá áľáá áśá˝ á¨á°áŤá áá¸á.
á Spanner (á¨ááá á ááá áá á¨á°á¨ááá á¨ááἠááł) á 99,999% á¨á°ááááľ áá áᣠááá áá
á áĽáť áá á¨áááá¨áá˘
áá°áá á¨á˘áá°áááľ á áááááľ á¨ááŤáá°á á¨ááá áŠáŁááŤáá˝ á᪠á¨áá ááá á áá áĽááľá áááá á ááá á ááááᢠá¨á°áá ááťá¸á á˝áá á ááśá á¨á ááłá¨ áá¨áĽ áá á¨á°ááá áľáááá á¨ááááš á°áŤáážá˝ á á áá¨á á¨ááᢠáĽá á°áá˝á áĽá áŠáŁááŤáá˝á á¨ááአá¨áá°á ááááŤáá˝ á áááá¸á áĽáť áááá á¨á˘áá°áááľ ááá ááĽá á°ááłáľ ááŤáááą á áá˝á áľááá á¨á°áá á á áŤá˘áá˝ á¨á ááłá¨ áá¨áĽ ááá ááľáĽ ááá¨áĽá á áá áá áĽáááááᢠá¨á ááłá¨ áá¨áĽ áááŤá¨áĽ á áĽá ááłáŽá˝ áá á˝áá áááĽá áá˝ááᣠááá áĽááłá áĽááá áá ááłáŽá˝ á áĽááł áá áŁáááá áĽááłá˘ á¨á°áá á áááááľ á°áá áá˝ áľáá˝áá áááľá¤áá˝ ááá á áŤááá. áĽáá˝áľ áŤá á á áááááľ á á áŤá˘á á áŠá áŤáá á¨á ááłá¨ áá¨áĽ áľá á°áľ áá ááŤáŤá áá˝á á¨áááťá ááᢠááĽááą, á¨áśáľá°á ááá á áááááśá˝ áĽáá áłáĽáá˝ áá¸á. áľáá á áááááľ á°áŞ áłááá á°á˝áĽááá áááááá á¨áááťá áá.
áľááááš á°áŤáážá˝ áľá áľáááłá¸á á¨ááááĄáľá á¨áááľ ááľáĽ á ááľááŁáľáŁ á¨á ááłá¨ áá¨áĽ á˝ááŽá˝ á ááľá°á áá ááŤáľá¨áľá ááá˝á á˝ááŽá˝ á ááśá áĽáť á¨áá¸áá á¨áá áĽáľáá áááľ áááľ ááá á˝áá á¨áááᢠá¨á ááłá¨ áá¨áĽ áááááśá˝ á ááá áĽáá° áááľáá ááľááśá˝áŁ á¨áśááá áááŚá˝áŁ á¨á áľá°áłá°á áá
á¨áľ áááŚá˝ áĽá á¨ááĽáŤáľ áááŤá¨áĽ áŁá á°áŤ áááŽá˝ áá°ááŤáᢠá á
ááĄ, ááá á¨áá˝á á˝ááŽá˝ áááá áá¨ááŠá áłáá
á°áá¨ááŠ
á¤á˛á˛ áááľ áĽá á¨á°ááŤáŠ áááŽá˝ áááľ áá
ACID áá áťá¨ áá Atomity, Consistency, Isolation, Reliability áááľ áá. áĽááá á¨ááĽááśá˝ áŁá áŞáŤáľ ááľááśá˝, áľá á°áśá˝, á¨áááľáá ááľááśá˝, ááá° áŁáá áľ áá áľááááááłá¸áá ááá¨ááἠá¨áłááą áá¸á. áŤá ACID ááá á°ááłáłá áá áśá˝áŁ ááá°áá áŞáŤ ááá˘áá˝ áááááľ áŤááŁá¸áá áĽá á¨ááἠááłá á°á áŤá á ááá ááŤá¨á áŤááá ááŠááľ áááá¨áľ á áľá¸á᪠ááááŁá¸ááᢠá áĽááááš á°ááá á¨ááĽááľ áłáłá¤á ACID áłáἠáááá ááááŤáᣠááá áá áĽáá° NoSQL áŤá á áłá˛áľ á ááŤá¨áŚá˝ áĽá á¨ááἠááłáá˝á áŤá ACID ááĽááśá˝ áĽáá˛áá አááááŤáľ ááá ááááŤáąá ááá°áá á ááľ áá¸áá˘
áá° á˘ááąáľáľáŞá áááááŞáŤ áá áľáᣠá¨á á¨á´ááá á᪠á¨á¤á˛á áᲠá˝áá°-ááłáĽ áá áŤá á á°ááá ááľ áĽááłáá á°áááŻáᢠááľáá ááááᣠACID áĽáĽá á¨á á°ááŁá á á°á¨á áłááá áĽáá° áťáŤáŤ ááá፠ááá áŤáᢠáᏠá á áĽááá á áá áá á áááźááá ááááŤáąá á¨á°áá°á á¨ááłá ááľáĽ áľáááŤááł (áĽá á¨á°ááŤáŠ áááľááá˝á áá ááá)á˘
áĽáŤááłááą á˛á˘á¤áá¤áľ ACIDá áŤá¨áĽáŤá áááľ á áá°ááᢠá á°ááłáłá áá, ACID á á¨áá°áá á¨ááἠááł á á°ááŁá á á¨á°áááĄáľá ááľáááśá˝ á á°áᨠááááľ áááááŁá. á¨á¤á˛á áᲠá á°ááŁá á á ááŁá á¨ááá áľ á ááą ááááŤáľ á¨á¤á˛á áᲠááľáááśá˝á ááá°áá á áá°á¨á áľáááŁá¸á á ááŤáł á¨áááľ ááááŚá˝ ááᢠááŁáŞáá˝ á¨ááἠááłááťá¸áá áĽáá° ACID á¨ááŤá¨áĽá á áľááá ááŤááᥠáá˝ááᣠááá áá á¨á áá ááłáŽá˝ á á°á¨ááá á á¨áá°á áááł áááŤá áá˝ááᣠáĽáá˛áá "áŤááá" ááľá°áśá˝á á¨ááľá°áááľ áá´á˘ á˘áŤááľ ááá˘áá˝ áľá áአáŁá áŞáŤá¸á áľáááá áááᤠáááááľ áĽá á¨áááľ ááááĽá áááá°á áľá áá°á¨áłá á á°ááŁá á ááľáĽáľáĽááľ á¨áá°á áááᤠááŤáá áá˝ááá˘
MongoDB á¨á¤á˛á áᲠááľáááśá˝á áŤá¨áĽá áľáááá áááአáľáŞáľ 4 á¨á°ááá á ááá áááĽááᢠMongoDB áá¨á
á áá á áá°á°áááá˘
áááłáá á¨ááŤáłá áĽááá ááááŤá˘ MongoDB áááĽá áá° á˛áľá á¨ááťá á ááľ áá ááťá
á á˛áľá áá ááá áááľ á áŁá ááľ áá°áľ áá. á°á°ááá áá´áłáá˝á á ááľáá¨áľáŁ ááá˘áá˝ á á áľá°áááááľ á᪠á¨áá áłáľ á ááťá¸áá áŤáťá˝ááᢠMongoDB á á áá áá áááἠááľáłááťá áá°áááᣠááá áá ááťáť á ááá˝ á ááá á ááŁáŞááľ á á¨100 áá´ áááἠááľáłááťáá˝ áľáááŤá á áá¨á áľááááááľ áá á°á˝áá ááŤáłáľáŠ áá˝ááᢠáŤá áááľ, á°ááłáłá áááł á ááá á˘áá ááááἠááľáłááťáá˝ áĽá á ááľáŁá¸á ááá¨áĄáľ áááŚá˝, ááá áĽááłá á á°áá á áŁá áá á°á á˘ááá.
áĽáŤááłááą á¨ááἠááł á¨áŤáą á¨áá ááĽááľ áŤáá áĽá á¨áááá áá´áá˝ á ááľ
á¨á¤á˛á áᲠááľáááśá˝ ááľáĽáŁ ááĽááľ áĽá áááá áľááá ááĽá áŤáá¸áá á¨á°ááŤáŠ á á°ááŁá ááá˝ áááŤá ááááŤáąá á¨áááľ áááἠáá°á á°á ááᢠááĽááľ áĽá áááá á áŁá ááľ á¨áá á°ááŁáŤáľ áá¸á ááŁá áááŁá. á
áá
áľ áá ááá áĽá ááá¨á ááĽááľ ááľáľá áá¨ááŤáᢠá á ááŤáł á¨áá¨á ááĽá¨áá˝ (á á°áá á á°ááŤáŠ á¨ááŚááŤááŤá áááá˝ ááľáĽ á¨ááá á¨áá) á¨ááἠááłáá á á ááľá áááŁá á á˛áŤáľááá á¨á˝áአááľáĽáľáĽááľ á á¨áá°á áááł áá¨ááŤá. á¨áá°á áá á áŤáá ááĽááľ ááááľ á áŁá á áľá¸á᪠áá, ááááŤáąá á°ááááľá áľáááááľ áĽá á¨á ááłá¨ áá¨áĽ ááááá áá¨ááŤá. ááá
ááľá°áľ á¨á áá á á ááá ááĽáŤáŞáŤ, áĽáá˛áŤááááą áĽáááááłáá
á˛á˘á¤áá¤áľ áĽááá áá á¨á°ááŤáŠ á¨áááá á°á¨ááá˝á áá°áŁáᢠá¨áá°áá áŞáŤ ááá˘áá˝ á áááŤááťá¸á áá á áááľá¨áľ á áŁá áá¤áłááá ááá¨áĽ áá˝ááᢠáá á°á áááá ááĽááľá ááá¨áá áŤáľá˝áá, ááá áá á¨ááἠááľáľá á á°áá áá¨ááŤá. á¨áá°á á˝áá áá áá áĽáľá ááááłá, ááá áá áľáŤá ááááłá áĽá áá° ááľáľá ááŤá፠áá˝áá, áá á ááľááśá˝ á ááááŠá áľ áá°á¨áľ áá° áĽáá°áá á áááľ áĽáŹááľ áááŤá.
á ááŤá¨áá¸á áŤá á¨á°ááłá áá´áá˝ áĽá áááááśá˝ áááá
ᨠSQL ááľáááľ á¨ááááá á áŤáľ á¨áááá á°á¨ááá˝á áĽáť ááᣠááá áĽááłá á ááľá ááłáĽ áĽá á á°ááŁá áĽá á°á¨ááŞáá˝ á áá˘
á¨SQL ááľáááľ á¨áá¨á°ááľá á¨áĽá¸áááľ á°á¨ááá˝ áá á áłááĄ-
- áá°á¨áľ á¨áá˝á (á áŁá áĽáĽá áĽá ááľ)ᥠá°á¨áłáłá á ááťá¸á áĽáá° á ááłááľ á°á¨áłáłá á¨ááĽááľ á ááťá¸á á°ááłáłá áá¤áľ á ááᢠá°á¨áłáłá á áááá áááľ áĽáŤááłááą ááŁá ááĽááľ á¨áááá¨á ááłáá á¨á°á ááá á áá áĽáť áá. á°á¨áá ááłáá á áá áľ áá°á¨áľ á¨áá˝á áĽááá áá á¨áá°áá á¨á á á˝á á°-ááś áááá (áááłá á Oracle) á áľááá ááŠááľ ááááŤáľ ááᣠááá áĽááłá á á˝á á°-ááś áááá á áŤáą á SQL ááľáááľ ááľáĽ áŁááá¨ááá˘
- á°á°ááá ááŁáĽá áá áŁáá ááĽááľ ááľáĽ áŤáá°áá¸á ááááŚá˝ áá áá ááĽááľ áááááŁááá áá á ááá˝ ááĽááśá˝ á¨á°á°á¨á áááŚá˝ (áĽáá° á á˛áľ á¨áľáá˝)
á ááłááᢠ. - ááá á á ááĽáĽáŤáá°áᣠááἠáááĽááśá˝ á ááááᢠá áá á ááŁá ááĽááśá˝ á¨á°á¨ááá áááĽá áĽáť áá áá¨áľ á¨áá˝ááľáŁ áĽá áááŁá ááŁáŚá˝ áá¨á°áą áá˝ááᢠá ááľ ááĽááľ á á˛áľ á¨áľáá˝á áŤáľáᣠáĽá á¨áá¸áᣠá¨á áá ááĽááľ á˛á á¨á ááŤáŤá¸á áá˝ááá˘
- áŤáá°áᣠá ááĽáĽ (á˘áŤááľ áĽáĽá
áĽá ááľ á°á¨á): ááťáť ááŁáĽ ááááłá, ááĽááśá˝ á ááá˝ ááĽááśá˝ á¨á°á°á¨á áŤáá°á°á¨á áááŚá˝á áá¨áľ áá˝áá. á á°ááŁá áá
á°á¨á áĽáá° áá ááá˝ áá áááłá áááśá˝ á áá ááá áá˝ááá˘
COUNT(*)
á á¨á´áá áá.
á°á¨á áá°á¨áľ á¨áá˝á ááá°áá á á áŁá ááľ áĽá á áľáááą áá á¨áá°á á¨ááľáľá áááľ á˛áá á¨ááἠááľáľáá á á°á ááááłáᢠááá˝ á¨áĽá¸áááľ á°á¨ááá˝á ááá°áá á ááá áá¸áᣠááá áá á¨ááἠááľáľá áĽáľáá¸áá áá¨ááŤáᢠá ááłááľ á˛á˘á¤áá¤áľáá˝ áĽá á¨áááá á°á¨á áĽáá˛áŤááá áŤáľá˝áááłáᣠááá˝ á°áá á ááŤáŤ áááŤáá˝ á áá¸á áĽá ááá á°á¨ááá˝ á áá°áááá˘
á¨áĽá¸áááľ á°á¨ááá˝ áľáá áĽááá áá á á°á°á á á˛á˘á¤áá¤áľ ááľáĽ áá°ááááᣠááá áá áŁá áŞáá á áĽááá ááĽááľ áĽáť á áľááá áá áĽá¨á°áá ᨠáĽááłá áŤáłáŤáá˘
áá°ááŤáŠ á˛á˘á¤áá¤áľáá˝ á á°ááŤáŠ á¨áĽá¸áááľ á°á¨ááá˝ áŤá á¨á°ááŁáŁá áááłáá˝ áááá
ááá˛á ááááá á ááŽáááą ááľáĽ
á¨á°ááá°áá ááá á á á áľá¸á᪠á áááá áľ áá áĽáŠá áááľ áá° ááłá áááŁá.
áááľ á áŁá ááľ ááá áá˝áá ááááŤáąá á áłáłá¤á ááľáĽ ááľáľáá áľááá¨áá áĽáť áłááá á¨áá°áá áŞáŤá á ááááŽá˝ á¨áá¨á ááą áá áŤáááá¨áĽ áĽáá˛ááá áľáááŤáľááá ááᢠá¨á ááłá¨ áá¨áĽ áááá áአá¨áááá áááłáá˝á áŤáŁáĽáłá áĽá áááá¨áľ áĽá ááááłáľ á áľá¸á᪠áá°áá ááááśá˝ áááŤáᢠáá¨áľ áŤá áááá á°áľáá á ááááá áľ áá áĽáŠá á°áľá áááá áá¨áłáá˘
UPDATE products
SET name = 'Telegraph receiver', version = 2
WHERE id = 1 AND version = 1
á áá
á ááŁá á°áá á¨áĄá áááá products
áá ááá á¨áá
áá°á á áá
á¨áľá áá áááŚá˝á áŤá°á¨á á áá°á¨ááᢠá áá
á¨áľá áá ááá˝ ááááá˝ áŤáá°á¨ááá á¨á ááľ á¨áľá ááἠáá¨á°áłá áĽá áááá á¨á°áłáŤ áá á áááľ áĽáá˝áááá˘
á¨ááťáť ááŁáĽ áĽá á¨ááἠááĽááľ á á°á¨á᪠ááá˝ áŤáá°áááą áááŽá˝ á áá˘
áá° á¨ááἠááĽááľ áľáááŁáŁ áľáŠá¨áą áá° ááťáť ááŁáĽ áĽá á¨ááἠááĽááľ ááŤáľá¨áľá á áá˝á á¨áá áááłáá˝ áĽáá áá ááᢠáááᣠá¨ááἠá°ááŤááá˝ áĽá፠á áŤáááá˘
á¨áĽáá°áá á áááľ áŤáá°áááą áááłáá˝ á ááą ááłá áááŁáľá áá áłáľ ááᢠ(áľáŤáá˝á áťá). áĽááá áá á áááľ áľáááááá á¨á°áᥠáááŽá˝ áááá¨áľ á áľá¸á᪠áá¸áᢠá áá¸á¸ ááŁáĽ ááá á áá¨á ááĽááľ ááááŤáľ áłááá á áá¨áá áá á¨á°áŁá ááááŤáłá áá°áŚá˝á ááŁáľ ááá˘
áááłáᣠá ááľ áŚááŹá°á á ááááá áá áĽáá˛á ፠á¨áááá á¨ááľáľá áá°áá áŞáŤá áĽáááá¨áľáĄ-
BEGIN tx1; BEGIN tx2;
SELECT COUNT(*)
FROM operators
WHERE oncall = true;
0 SELECT COUNT(*)
FROM operators
WHERE oncall = TRUE;
0
UPDATE operators UPDATE operators
SET oncall = TRUE SET oncall = TRUE
WHERE userId = 4; WHERE userId = 2;
COMMIT tx1; COMMIT tx2;
á¨áá á á°á áá°á áááł, áááąá ááĽááśá˝ á á°áłáŤ áááł á¨á°áá¸á á¨áááἠááľá áá¨á°áłá. ááá á¨áá¸á¸ ááŁáĽ ááá á¨ááἠááĽááľ áŁáááá á¨áá¨áá áłááááľ á°ááľáˇáᥠá áá áááľ á°áá˝ á á°ááłáłá áá á áĽáŞ ááá áŤáá˘
á°á¨áłáłáááľ áŤáá ááááᣠáźá ááľá ááá á¨ááἠááł áá°áŚá˝ á¨ááťá ááľáá áááľáááľ áá¨áłáᢠááá˘áá˝ á áááľ ááľáĽ áĽááąá áááľáááľ á áĽáľááľ áá áĽáá°áá áŤá áŤáá°áááą áááŽá˝á ááá¨áľ ááťá á ááŁá¸áᢠá á°ááłáłá áá, á¨áá áłáľ áááŁáľ á áŽáľ áá°á¨áľ ááľáĽ áááá áĽá á á áŁá á áľá¸á᪠áá. á á°ááá á áľááá áľáááśá˝ ááľáĽ, á¨á°ááŤáŠ á¨áááľ áĄáľáá˝ á á ááľ á á¨á´ááá˝ áá á°ááľáá°á á°ááŁáŤáľá á¨áá°áá á áááááľ á˛ááŤá¸á áĽá á áá¨á á°á°áŤá˝ááľ áአáááł áá á ááľááá.
á¨áá¨á ááą áĽá á°á ááá áá ááľá¨á áĽááłááŁá¸á áááá á ááľáááá˘
á¨áá¨á ááśá˝ ááá áŁá áŞáŤáľ á ááą á¨á áááá áľááá ááľáľá áá, ááá áá áá áľááá áĽáŤáą ááśááľáá ááᢠááá˝ áááá áá˝áá. á¨ááἠááłáá˝ ááĽááśá˝á á¨ááá˝ááľ á á°áá ááľ á á°á á°á¨á°á áá áĽáá ááŽááŤááŽá˝ áŁá°áĄáľ á á°á á°á¨á°á á áá°ááᢠá¨ááĽááśá˝ á á°á á°á¨á°á ááá°áá á á áľá¸á᪠áá, á á°ááá á áŁá á á°áŤá áľáአáľáááśá˝ ááľáĽ.
á áĽáľááľ áá áľáŁ á á°ááá á¨ááá¨áá¨á á¤á°-ááťáááľ áá á áá áŤá áľ ááᣠá°áŤá ááᤠáĽá áá á°á á°ááŁá˘ááľ á°á áááá˝ ááĽááśá˝ á á á°á á°á¨á°á áĽáá°ááá¸á áĽáá˛áŤáá ááŤá°ááá¸á áá˝ááᣠá áĽááἠá ááááá á á°á á°á¨á°á áá° áłáłá¤á ááľáĽ áá°ááą áá˝ááá˘
á á
áľá-áĽááł, á¨áłá˝ áŁáá ááŽááŤá, T1 áĽá T2 á á
á°á á°á¨á°á ááŁáá, ááá áá áĽááá
á°ááŁáŤáľ á¨áááłááą á¨áá áĽá áá˛áŤáá áá¤áąá á á
áš ááľáĽ ááááą.
áá¤áľ1 = T1() // áĽááá°á áá¤áśá˝ á°áľááá˝ áá¸áá˘
áá¤áľ2 = T2()
á áśáá˛áá á¨ááŤáľááá á¨áá (áá á ááá áľáŤáá˝ áá ááá á ááŁá¸á ááá ááá¨áĽ á ááŁá¸á) áĽá á á°á á°á¨á°á ááłáŽá˝, á¨ááŤá áľáŤáá˝ T1 áĽá T2 á á ááľ ááĽááľ ááľáĽ áá¨ááá á ááŁá¸á.
á¨áá°áá áŞáŤ á°á¨á áťáá˛áá á¨áá°áá áŞáŤá áá ááááłááľ áá˝ááá˘
áááŤáľ á¨ááἠááłáá á á ááľá á¨áá¨ááá áá´ ááᢠá ááłááľ á¨ááἠááłáá˝ á áŤáľ á°á ááἠá á ááľá áá¨ááá áá˝áá, ááá˝ áá á áá˝áá, ááá á áŁá áĽáŠ á áá°áá. áłáł á ááá´ááśá˝/ááá˘áá˝ ááἠáĽáá´áľ áĽáá°áá°á¨áľ á áľááá áá°áá á á˛á˝áᣠáá áá áľáŤ áá° áłáłá¤á á¨ááľá°ááá ááá á á°á áá áŚáł áá á ááľá áááááá˝á ááá á áá˝ááᢠáá áá°áľ "á¨áá°áá áŞáŤ á°á¨á áťáá˛áá" ááŁáá. (á¨áá°áá áŞáŤ á°á¨á áááŤáľ).
áĽáá° á áááłá°á áá áá áľá áĽááá áá áááŤáľ á áá°áá áŞáŤ á áááááśá˝ ááľáĽ áááŤá á¨áááá á¨á°áłáłá° áááᤠáááĽáŤáᢠáĽáá° áĽáááą á¨áá, á¨áá¨á ááą ááľ áááľ áĽáá° á¨á°áᨠááĽááĽá áá°áá á áá˝áá. á ááἠáĽáľááľ áĽá á¨áááááĽá áľáááážá˝ áá á áááľá¨áľáŁ á¨áááŤáľ ááľáááśá˝ á áŁá ááľáĽáľáĽ ááá áá˝ááᢠá ááłááľ áľááśá˝ á¨á áááŹá˝á á ááááŽá˝á áĽáá°áá áááááľ áłáŤáľáááá¸á á¨ááľáá á˝ááł áá áá áá˝ááá˘
á¨áá°áá áŞáŤ á ááááŽá˝ á¨áťáá˛áá á áááááľ á¨áááŠá áľ á¨ááá áĽá ἠááłá
áťáá˛ááá áá° á°áᨠá áááááľ áááá á áááŹá˝áá˝á áĽáá°áá áááááľ áłáŤáľááá á¨á°ááŤáŠ á¨áťáá˛áá áľááśá˝á á¨áá áá á˝ááłá áŤá°áááá˘
áŤáľá áá¨áá á á°áá ááá áá˝áá
AUTOINCREMENT áá áááá˝á á¨áááá¨áľ á¨á°ááá° ááááľ ááᢠáĽá áá á¨ááἠááłáá˝ áĽáá° ááłáá፠áááŹá°áŽá˝ áĽá á áá á¨ááááŁá¸á á ááŁááá˝ á á, áĽá á¨ááἠááłá áááŤáá˝á áááá á á¨á°áá°á á°áá á¨áŚá˝á ááá. áŤáľ-áá¨áá á áá áá áá áááá˝á áááá¨áľ á¨áááĽááľ á¨áŤááŁá¸á á ááŤáł ááááŤáśá˝ á áá˘
- á á°á¨ááá á¨ááἠááł ááľáĽ, á áŤáľ-á°á áá¨áá á¨áŁáľ á˝áá áá. ááłáááŤáá ááááá¨áľ á ááá áá áááá፠áŤáľááááᢠá ááľáŠáŁ UUID áááá¨áľ áľá˝ááá ᥠáá á á°ááŤáŠ á¨ááἠááł ááśá˝ ááŤá¨á ááľá°ááĽá á áŤáľáááááᢠá¨áááááŤáá˝ áá á áŤáľ-á°á áá¨áá áá° áááἠááŤá፠áĽá á á°á¨ááá áááłáá˝ ááľáĽ á¨ááľááŁáľ áľáŤá á áĽá á ááááłáᢠá ááłááľ á˛á˘á¤áá¤áľ (áááłáᣠMySQL) á¨ááľá°á-ááľá°á ááŁááľá á á ááŁáĄ ááá°áŤááľ áአáá á áĽá á¨á áá áĽááá ááŤáľáááá¸á áá˝ááᢠáĽá á áááá áá áľá á°áśá˝á ááľá¨á ááá áá, áá á áá° áá¨áť á áááłáŤáśá˝ áááŤá.
- á ááłááľ á¨ááἠááłáá˝ á áá áááá˝ áá á¨á°áá°á¨áą á¨áá¨ááá áľáá° áááŽá˝ á áá¸áᢠá°á¨áłáłá ááłáááŤáá˝ áá°áááłáá áľáŠáľ áŚáłáá˝ áĽá á á ááłááľ áááááŽá˝ áá áááľ áĽáá˛á¨áá ááŤá°áá áá˝áá ááá˝ á°áá áľáŤ ááľá°á áááŤáá˘
- ááłá ááá á áłáłá¤á ááľáĽ á ááľ á¨áľá áááľá¨áľ ááŁá ááááľ ááᢠááááŚá˝á áááá¨áľ á á°áťá ááááśá˝áŁ á°á¨áłáłá ááłáááŤáá˝ á á áá á¨áŚá˝ ááľáĽ á áŁá á áľááá á¨áááá á ááľ áľááá á ááá¸á áĽá´áśá˝ áá°á°áá á¨ááą á ááľ ááááĄáľ áá˝ááᢠáľááá ᣠá ááťáá áľ ááᣠáĽáŁáá á á ááá áá á°á¨á áአáĽá á°ááĽáŻá áá ááá ááá¨áĄ (áááłá á¨á°á áá áľá)á˘
á á ááŤá¨áĽ áá á¨ááá°áá á ááľáŁ á áŤáľ-á¨áá¨áአááłáááŤáá˝ áĽá UUIDáá˝ á áá¨á á ááᣠááááá áĽá á¸áá°á´ áá áŤááá á°á˝áĽá áááľ ááľáĽ áŤáľááĄá˘
á¨áᨠááἠá áá ááá áá˝áá áĽá áááá á áŤáľááááá
Multiversion Concurrency Control (MVCC) á¨áá á áá á á áአá¨á°ááášáľá á áĽáááášá á¨ááĽááľ ááľáááśá˝á á°ááŁáŤá áŤá°áááᢠá ááłááľ á¨ááἠááłáá˝ (áááłáᣠPostgresᣠSpanner) MVCCá á¨á á˝á á°-ááśáá˝ áá âáááááĽâ áá ááá - á¨áአá¨áá¨á ááą áľáŞáśá˝á˘ á°ááłáłáááľ ááá¨ááἠá á˝á á°-ááś ááĽááśá˝ áĽáá˛á á á°á¨áłáłá áá°á¨á áá˝ááᢠá¨áľáŽ á á˝á áłá áá˝ áĽááł á˛áŤááĄáŁ ááá áŤááá áľ ááἠááá áŁáá˘
áľáá˝ á¨áᨠááἠááá ἠá áá ááá áá˝ááᣠáááłáᣠá¨ááᥠáľááłááá˝á á˛áŤááአááá áááłá áľáá áĽá´áśá˝á á˛áŤá°áá˘
á¨áááľ ááἠáá á¨ááĽáŤáľ á¨ááááŞáŤá áĽá á áá á°á áááá¨áľ áá (á á°ááá á¨áá¨á ááą á á°ááŤáŠ ááŚááŤááá˝ á¨á°á¨ááá á¨áá)ᢠááá°áá á°ááŁá˘-áĽáť ááĽááśá˝ á¨áááá፠áá áá¸áᢠáĽá á¨ááŤáᥠá áááŹá˝áá˝ á¨áአáá¨ááá˝á áĽáľá¨ááľá°áááľ áľá¨áľ áá áľáá áĽá á ááá˘
á áááŹá˝á á áááአááá áŤááá áľ 5 á°á¨ááľ á¨á áŤáŁá˘á á
á á¨á°áááá áá¨á áŤááŁáᣠááá áĽááłá á¨á
áἠááá áľáŞáľ á ááľáá áá
áŤááľ ááś á¨ááá á˘ááá
á˛á˘á¤áá¤áľ á¨áአáľáŞáśá˝á á áŤáľ-á°á áŤá¸áłá áĽáᣠá á ááłááľ áááłáá˝áŁ áá
á á á á¨á áá áĽáá˛áŤá°áá áŤáľá˝áááłáᢠáááłá, Postgres á°á áááá˝ áĽáá˛áŤá°áá áŤáľá˝áá¸áá VACUUM
á á°á á¨á áá áĽá áĽáá˛áá áá
áá ááá á á¨ááá áŤá¨áááá. áľááá á¨á ááľ á°á áľ á áá á¨áአá
á˝á á°-ááśáá˝á áááľáááľ ááťáť á°áĽáłá˘ áá°áŤáá˘
á ááááá áá áááŽá˝ á¨á°áᥠáá¸á
á áŽáááŠá°á áłáááľ ááľáĽ á áŁá á¨á°á á áá ááľáĽá ááá á¨áá á á áŁá á á¤áá ááá˝ ááá¸áłá¸á ááᢠáĽáá° áĽáááą á¨áá á¨áĽá áá˝áá˝ áľáááááá á¨á ááá áá á áŤááá. áŽáááá°áŽá˝ ááá ááá á á á¨ááŤáááá ááá¨áľá á¨áááĽáŠ á¨áłááľá ááŞáľáłáá˝ ááááᢠááá ááᣠáĽááą á á á áááł áľááá á áá°áá áĽá á¨áľááááá áá á ááľ/á¨áá ááá áá˝ááᢠá˝ááአá áá 20 á°á¨ááľ áá°ááľ áá˝áá. áľááá á áŽáááá°áŽáťá˝á áá áŤáá áá á á¨ááá á¨á ááłá¨ áá¨áĄ áá áááłá°á á áá áľá˘
á¨á¤áá˛á á ááááŽá˝ ááááłá°á áĽá á áá ááááᣠáá á¨áááłá°á áá°áą áŤáą áá ááłá¨ áá¨áĽ áááá¨áśá˝ á°áᢠááᢠá á°ááłáłáŠ á¨áá¨á ááĽá¨á ááľáĽ á¨á¤áá˛á á áááá áá áááłá°á áĽááłá á¨á°áá°á áá áááľáłáᢠá¨á ááŁá á¨á¤áá˛á á áááá áá ááľáŤáľ á¨á áá áá°á°ááŁááľ ááŤá፠áĽáá°áá˝á ááá˝ ááá˘
á¨á áśáá á°ááśá˝ áĽá á¨ááá¤áľ á áťááťá¸á á¨á ááá áá áááá°á á¨á°áťá áá¸á, ááá áá ááľ áá¸á áĽá ááľáĽáľáĽ áááá áľáááŤáľáááá¸á á áĽáŤááłááą ááŞá áá ááŤá á áá˝áá. á áá ááááŤáľ á¨áá¨á ááĽá¨áá˝ á°á¨á á á°á¨á áá´ áá ááá. á¨á áśáá áĽá / ááá á¨ááá¤áľ á°ááśá˝ áľáááááá á°ááľ áŤáłáŤá, á¨á፠á áá á ááá°áá á ááááŽá˝ á áŠá áá° ááá˝ áá˝áá˝ áá°áŤáŤá. áá áááľ áĽáŤááłááą áá˝á á¨áľááááá áá ááᎠá¨á°áá°á ááŤáŤáť áŤááĽááá áááľ áá.
á áááŹá˝áá˝ áĽá á¨ááἠááłáá˝ áĽá áá á á°ááŤáŠ áá˝áá˝ (á á°ááŤáŠ á¨áá¨á ááĽá¨ááľ ááľáĽ áŤááá) áľáááá áááłá ââá°áŁáĽáˇáᢠáľááá , ááá á á°ááŤáŠ áá˝áá˝ áá á á°á°áŤáŠ á¨á˛á˘ ááśá˝ áá áĽáť áłááá áááŤáŤá. áĽáá˛áá á áá°áá áŞáŤá á áááá áá á¨á°áᨠáááá.
ááá TrueTime áášá á¨á°áᨠá áŤááľ áááľáłáᢠáĽá á°áá˝ á¨ááá á áá á á áŁáŤ áŤáá áĽáľááľ áá° á áśáá áĽá ááá¤áľ á°ááśá˝ á á°á°á¨áá á˝ááá á°áĽáŤááˇá áĽáá áŤááá ᣠáá áá á¨áľáá ááľá á áŤá áĽáť ááᢠTrueTime áĽáá´áľ áĽáá°áá°áŤ áĽáááĄ-
- TrueTime áááľ á¨á°ááŤáŠ áááŽá˝á áá ááá ááá¤áľ áĽá á¨á áśáá á°ááśá˝á˘ áĽááá
á°ááśá˝ á¨áááááą á¨áĽáá˝áľ áááłáá˝ á áá¸áᢠ[ááááአáá˝ 5á áááá¨áą
áĽáá - á áááľ. áá°ááá), áľááá á¨á፠áá ááá¸á á áľá°áááááľá áá¨ááŤá. - TrueTime áŤáá°ááá° á¤áá á á ááᢠá áĽáą ááľáĽ á¨á°á°áŤ á¨áááŞáŤ áľá á°áľ áĽá áĽááá á á áááá áá ááá áĽáá° ááá°áľ ááááłáᢠá áá ááľáĽ áŤáá áľááááá áá á á¨áá°á áĽá áá á°á áá°áá˝ ááŤá¨á á¨áá áŚáł áá. áľáááᣠááá á¨á°á¨áááá áłáłá¤áᣠá áá áŤáá áá á¨ááá áá áá áĽá ááááá á áľá°ááá áĽáľáŞáá áľá¨áľ á ááá áá áĽááᢠáá áá´ á áľáááą ááľáĽ á ááłááľ áááá¨áľá áŤáľá°áááá, á á°ááá á ááśá˝ áá áŤáá áĽááá á á áááá á¨áá°á á¨áá, ááá áá á ááá á áá á°á¨á á á°á°áŤá¨ áááł ááľáĽ áĽááłá áľááááááľá áŤá¨áááŁá.
á¨áľááá á áŤááľ TrueTimeá áá áááᣠTT.now() á¨á°áá°á ááá á¨ááááľá áľ áá áľááá áľááá á áá áŤáá áá á¨á°áá°á ááĽáĽ áĽááłáá áĽáľáŞá°ááá áľá¨áľ á ááá áá°ááá˘
á¨á ááá áá áááá°á áľááááááľ ááááľ áááľ á¨áľááá áŚááŹá˝áá˝ á¨áááł áá áá¨áá áĽá á¨á áááá ááááľ áááľ áá. ááá á áá áá á áá áľáááá á°ááľ áááááľ á¨áááťá á˘ááá á¨áá°ááá áľááááááľ áá á á á áľááá á¨ááá.
áááá¨áľ áĽá áľáááá˝ á ááľ
áááá¨áľ áá áĽáá°áá á°ááá áŁáááŤáá˝á á¨á á¨áá¸á ááááŁáľ á¨á°ááŤáŠ áááśá˝ ááŤáá áá˝ááᢠá DBMS ááľáĽ áááá¨áľ áĽá áá "á¨ááἠááł áááá¨áľ" ááŁáá áĽá á á°áá áá á¨ááłááá á¨á°áᨠáá. áĽáááłá áá á°áá áá á¨ááľááá áááá¨áľ áĽá á¨ááἠááł áááá¨áľ áľááá áááá¨áłá. áĽáŤá°á áŤá á˝ááŽá˝á á áááłá áľ áá á¨áááá¨áľá á áááľ á¨ááá¨áľ á˝ááł ááłá áá. áááŞáŤáá˝á á áá°á áľáĄá áľ áĽá á ááŤáłáŠá áľ áá áááá áááąáá ááááśá˝ ááá¨áłá°á ááááŠá˘
áá ááľ á¨á°áá°á ááĽááľ á¨á ááťá¸á ááľáááśá˝ ááááá á ááŁá¸á
á ááłááľ áá á¨á˛á˘á¤áá¤áľ á¨á ááťá¸á áŁá áŞáŤáľ áĽá ááąáááśá˝ á¨áááášáľ á ááá/á ááŁáĽ áá á áľ áĽá áááá¨áľ ááᢠáá ááá á¨áľáááľ áááŞáŤáá˝ á á ááá áĽááłá áŤáááŁáᣠááá áá á¨á á˛áąá á˛á˘á¤áá¤áľ á ááťá¸á á˛ááááᣠá¨á áá á á ááá á ááŤá¨áĽ ááłá áľáŤáá˝á (ááĽáŤááłááą áĽáŤá áĽá/ááá ááĽááľ) á á°áá á ááááá ááᢠááłááá˝áĄ-
- á á˛áľ á¨áľá áá° á áá á¨áĽ X (ᨠ50 áááŽá á¨áľáá˝ áá) á á°áááš áá°áŚá˝ áĽá á á°ááá á°áá á¨áŚá˝ ááľáĽ á¨á¨áľá ááŁá á˛áŤáľáᥠáľáá áĽá áááá¨áľ áááá˘
- á ááŤá á¨áá°áá˝ áĽááľ 500 á˛áá á¨á ááľ á¨á°áá°á á°á áá áá°áá˝á áááłá¨áľ áááá¨áľá˘
- á°á ááá á á°ááľ á¨X áá¤áśá˝á 100 ááá˝ á°á áááá˝á á˛á¨á°á 500 ááἠáá¤áśá˝á á¨á°á áá áłáŞá á°ááľáŽ ááááŁáľ áááá¨áľá˘
áłáłá¤á á¨á ááťá¸á ááľáááśá˝á áĽáá°ááŤáá áĽááá á áĽáľááľáá áľá¨áľ áááá áĽá áá¨áŤ áĽáá°ááá áŤá ááłá ááłáŽá˝á ááŤáŤáľáľ áá˝ááᢠá¨áááá¨áľ áááŞáŤáá˝á á˛á°á áľáĽ áĽá á¤áľ.áŚ.áŚ.áá˝á á˛ááľá á°ááłáłá á¨áŁáľ á á áá áá áááá áááł áááľ ááľáĽ áŤáľááŁáá˘
ááĽáŤááłááą ááś áĽáá áááŞáŤáá˝á á áá°á áľáĄá áľ áá á¨áá°á áŤáá˛ááááľá ááá. á¨áá°á ááá áá¨á áá¨áá áááááľ á¨áááἠááľáłááťáá˝áᣠá¨ááľá°áľ áá°áĽá°áĽá ááá á¨á°á¨ááá áááá áá ááᢠá á˝áá ááľáĽ "
á¨áá ááĽááśá˝ á á°áá ááá áá˝ááá˘
áĽáŤááłááą á˛á˘á¤áá¤áľ á¨áá ááĽááśá˝á á áá°ááá ᣠáá á˛áŤá°áá áĽáá°áá áŤá ááĽááśá˝ áŤáá°á á á áľá á°áśá˝á ááŤáľá¨áľá áá˝áá ᣠáá á áá áá á ááá á¨áááłáá áľá á°áśá˝á áŤáľá¨áľáá (áááľá ᣠá¨áá áŤáá°ááá° ááá áĽááłá ááá ááá á áá áľ)á˘
á¨á°áá á á¤á°-ááááá˝á á áá áá ááá ááááľ áĽá ááá á¨áá˝á ááĽááśá˝á á¨áá áá ááá ἠáľá˝ááá ᢠá¨áá ááĽááśá˝á áá°á á¨áááťá á¨áá, á¨á°á ááá ááĽááśá˝ á áááá˝ ááááŤáľ á á ááŁá á¨ááá¨áĽáŁá¸á áŤáá°á á á áááłáá˝ áĽááłáá¨á°áą á á á°ááŁá አáá áአáĽááá áŤáľáá.
ááĽááśá˝á á á°ááŤáŠ ááĽááĽáŽá˝ ááŤá°áľ áá° áŤáá°á á á á¨áá ááĽááśá˝ áá፠áá˝ááᣠáĽá á¨áŽáľ á°ááŁá˘ááľ á ááá á¨á¸áááá ááłáĽ ááá¨áłáľ á áľá¸á᪠áŤá°ááááᢠá¨áá¨á°ááá ááŽááŤá áááá¨áąá˘
with newTransaction():
Accounts.create("609-543-222")
with newTransaction():
Accounts.create("775-988-322")
throw Rollback();
á¨áá áŤáá áŽáľ áá ááľ áá áááá? áááąáá ááĽááśá˝ ááááłá ááááľ ááľáŁááá áĽáť? ááĽá á¨ááĽááśá˝á ááá á á ááŤá ááá á ááŤáł á¨á¤á°-ááťá ááľ ááĽááĽáŽá˝ áá á¨á°á°ááá áá áá¨á°áłá? áĽáá°ááá áŤá ááłáŽá˝á ááá¨áľ áĽá ááťáťá áĽáá˝ááá?
á¨ááἠááĽááĽá á¨á ááŤáł ááááá˝ áá á ááá áááá
ááłáá
(áááłáጠnewAccount
) ááľááá á áŤáą ááĽááśá˝ ááľáĽ á°á°ááĽáŻá. á áŤáą ááĽááľ ááľáĽ á¨áá°áŤ á¨á¨áá°á á°á¨á á¨áááľ á áááᎠá áŤá ááá á˘áŤáŤááˇá¸á áá áá¨á°áłá? á áá
ááłá áá áááá áĽá ááĽááľ áá ááá áá˝áá?
function newAccount(id string) {
with newTransaction():
Accounts.create(id)
}
ááĽáá°áá á áááľ ááá፠áááá¸á áĽáŤááá˝ áááśá˝á á¨áááá ááá á¨áá ááĽááśá˝á ááľáááľ á¨á°áťá ááᢠá¨ááá á áá, á¨áĽááľá á¨ááἠááĽááĽá á¨áŤáąá ááĽááśá˝ áłáááĽá á ááá á¨áá°á á°á¨á áľáŤáá˝á áá¨ááá áá˝áá. á á°á¨ááŞá á¨á˘áááľ á áááᎠáŤáą ááĽááľá ááááá, á áĽáą áá áľáŤáá˝á ááá¨ááá, ááĽááľá áááá¸á ááá áááá¨áĽ áá˝áá.
function newAccount(id string) {
Accounts.create(id)
}
// In main application:
with newTransaction():
// Read some data from database for configuration.
// Generate an ID from the ID service.
Accounts.create(id)
Uploads.create(id) // create upload queue for the user.
ááĽááśá˝ á¨áááá¨áť áááł áá ááŤáŤá á¨ááŁá¸áá
á ááłááľ áĽá´áśá˝á ááááἠááá á¨áĽáŤá áááŞáŤáá˝á áááľá°áŤá¨á á ááłááľ áá á¨áá°áá áŞáŤ áááłá á ááĽááśá˝ ááľáĽ ááá áá ááłá ááᢠááłá°áĽá áľ á¨áááŁá ááłá ááĽáĽ áľááááá á¨áľáá ፠áá°á ááᢠá¨á ááłá¨ áá¨áĽ á˝ááŽá˝ á˛áአá°áá áá˝ áĽááá áá ááĽááśá˝á áĽáá°áá ááááŤáᢠááĽááą á áá áá°áľ áĽá¨á°áá¨á¨ áŁáá áááł áá á¨ááá¨áŽá á¨áá á ááἠááľáľá ááľá áá á áááľá¨áľ á¨á°áłáłá° áá áááἠáá˝ááᢠááĽááśá˝ á áá°áá áŞáŤá ááľáĽ á¨ááἠááľáľá áááłáá˝á áľááľ áááľ ááľáĽ ááľááŁáľ á ááŁá¸áá˘
var seq int64
with newTransaction():
newSeq := atomic.Increment(&seq)
Entries.query(newSeq)
// Other operations...
á¨áá¨á¨áťá áá¤áľ ááá ááá áá á¨áá áŤáá ááĽááľ á á°ááá ááĽá á¨á°á¨áłáłá ááĽáŠá áá¨ááŤáᢠá á ááłá¨ áá¨áĽ á˝áá ááááŤáľ áľáááą áŤáá°áłáŤáŁ áĽáá°áá á˛ááአáĽáŤáá á á°áᨠá°á¨áłáłá ááĽá ááá¸ááá˘
á¨áá áá áĽá áľ á ááŞáá˝ áľá áłáłá¤á áĽá ááááŠááľ áá˝ááá˘
á¨áá áá áĽá áľ á ááŞáá˝ áĽáŤá á áá¨á ááľ ááľáĽ áĽáá´áľ áĽáá°áááá áááľááᢠáĽáá˛áá á¨áááŤá¸á á ááľ áĽáŤááá˝á ááá¨ááŤá áĽá áŤááťáťáᢠáĽá áľ á ááŞáá˝ á áĽáá¸á áŁááľ ááááśá˝ áá á áááľá¨áľ á ááłááľ ááá á¨áá˝á áááśá˝á áĽáť áá áá á¨áĽ á¨áá˝ááľá˘ áááłáᣠááá¨á°áá áá áá ááᥠá¨ááá áá´ áááľáá?
SELECT * FROM articles where author = "rakyll" order by title;
áá¤áąá á áááľ ááááśá˝ ááááľ ááťáá-
- áá á¨á á¨á´á á ááľ: á á°áá á¨áĄ ááľáĽ áŤááá áĽáŤááłááąá áá¤áľ áááá¨áľ áĽá ááŁáĽáá˝á á áááá°á á¨á¸áá áľá ááááľ áĽá á¨ááŤá ááá áá˝áá.
- á¨áá¨á á áá á ááľá°ááá ááłáááŤáá˝á áááááľáŁ á¨áľáá˝á áááááľ áĽá á¨á፠áááá áá¨á á ááá áá áá áá˝ááá˘
á¨áĽáŤá áĽá áľ á ááŞá áľáŤ á¨áľáá áľááľ á¨á°áťá áĽáá°áá ááá°á ááᢠá¨áĽáŤá áĽá áľ á ááŞáá˝ ááľá á¨áá°áá á á á áá˝ áĽáť áĽááłáá¸á áá¤á á°áᢠááᢠáá áá° ááĽá ááłááá˝ ááŤá፠áá˝áá. á˛á˘á¤áá˝ ááá ááá˘áá˝ á á°áἠá¨ááá°áŠ áá ááá˝á áááááá áĽá áááľá°áŤá¨á áá áááŁá¸á áá˝ááᢠá á˛áľ á¨á˛á˘á¤áá¤áľ áľáŞáśá˝ á¨áá áá áĽá áľ á ááŞáá˝á ááŤáá አáá˝ááᣠáĽá á á˛áą áľáŞáľ áá° á ááťá¸á á˝ááŽá˝ á¨áá፠á¨áá áŤáľá ááááá á¨ááἠááłáá á˛áŤááá áá¨áłáᢠá¨ááᨠá¨áá áá áááἠááľáłááťáá˝áŁ á¨áááá¨áľ á˝áá áŞáááśá˝áŁ ááá á¨ááľáá¸á፠áá áľáłá˛áľá˛ááľ áááťá¸áľ á¨ááŤáľáááá¸áá áĽáŤááá˝ áááá¨áľ áŤáááá˘
á áá áá áĽá áľ á ááŞá á¨áá¨áĄáľ á ááłááľ ááŹáśá˝ ááŠá¸áľ áááᥠáá˝áá (á á°áá á¨ááᨠááá á¨á˛áአáá á˛áááą)ᢠá¨áááááĽá á ááŞáá˝ áá áĽáŠ áá¨áá á¨ááľáá¸ááŤáá ááááľ ááá¨áłá°á áĽá ááá¨áłá°á á¨áá¨áą ááłáŞáŤáá˝ áá¸áᢠáĽáá°ááá áŤááľá á˝ááŽá˝ áááááá áŤáľá˝áááłá (áᎠᣠááá á˛á˘á¤áá¤áľ áĽáá°áá áŤá ááłáŞáŤáá˝á á áá°áĄá)á˘
á¨ááľáá áá ááá°áľ á¨áŁáľ áá áá á¨ááťá ááá˘
á¨ááľáá áá ááá°áľáŁ á¨ááĽáł ááá°áľ ááá á¨áĽááá°á áá ááá°áľ áááľ á¨á ááą á¨ááἠááł áá° áá áŤáááá¨áĽ ááá á¨ááἠáá áá¸áľ áááľ ááᢠá˝ááአá á°ááłáłáŠ á˛á˘á¤áá¤áľ/áá°á ááľáĽ á¨á°á¨á°á° á¨ááĽáł ááá°áľ ááá¨ááá ááá ááᢠáá° á á˛áľ á˛á˘á¤áá¤áľ á¨á°ááŤáŠ á¨á ááťá¸á áĽá á¨áááááĽá ááľáááśá˝ áá áááľ á áľááá áá á˛áá áááłá ââáá áἠá¨á°ááłá°á ááááá˘
á¨á°ááŤáŠ á¨ááľáá áá ááá°áľ áá´áá˝ á áᢠá¨ááŤá¨áá¸á á ááą áá¸áááĄ-
- á áááąá á¨ááἠááłáá˝ ááľáĽ áľáἠáá¤áľá á ááᢠá á˛áą áłáłá¤á á áá á°á¨á ááá áá¨ááá˝ á¨ááľá ááá áá á¨á áἠáááá áá¨á áĽáť ááá ááᢠáá áá áŤá¨ááᥠá áá áá°áááĽáá á°á¨á áááľ áá˝áá.
- á¨áááąá á¨ááἠááłáá˝ ááá áĽá á ááá˘
- ááá ἠáĽá ááťá á áááááľ á á á˛áą á¨ááἠááł áá áĽáá˛á¨ááá áľáááąá áŤáá áŠá˘
- á¨áą áŤááá ááἠááá áĽáá á áááĽáá áľ áá áá° á áŽáá á¨ááἠááł ááá áŤááᢠá áá á°á¨áᣠá á˛áą áłáłá¤á á ááá á¨á°áá°á áá¨á á¨áááᢠá¨áľáŽá á¨ááἠááł áá áłáľ á ááŁá¸á.
- á¨áľáŽá áłáłá¤á á°ááŁá˘-áĽáť ááᢠá¨áá°ááá ááἠá¨áľáŽá á¨ááἠááł áá° á á˛áą áá áąá˘ ááá°áľ á¨á°á ááá á áá ááááśášá áá° á á˛áą á¨ááἠááł áááአáĽá á áŽááá áŤáá áĽá á¨áľáááą ááľáĽ áá°áááľ.
áá°á¨á᪠áá¨áᣠáĽáá˛áŤáááአáĽáááŤááá˘
á áá¨á ááą ááľáĽ ááá á¨áá áá᪠áŤáá°á á á áááł áá¨ááá áŤáľá¨áľáá
á¨áá¨á ááą áĽáľááľ á¨áľáŹáą áá á°áŤááá áá°áááłáá á˝ááŽá˝ áŤááŤáᢠáľá á¨ááἠááł ááľáŁá ááá
á á¨á áá áŁáá
á áá á áĽáá´áľ áĽáá°áááá áá°áá á áĽáá˝áááᢠááá ᣠá ááłááľ áááá˝ á ááá ááá°áá á á ááťááá˘
áá°á¨áą áĽáŤá°á á˛ááľ á¨ááἠáá á áĽá á¨á ááłá¨ áá¨áĽ á¨áá°ááá፠áááľ ááľáááśá˝á á á°ááá¨á° á¨ááľá áááśá˝ áĽá á°áľááá˝ áá áŤáááŁá¸á ááá áá˝ááᢠáá
áĽáŤá á¨áááłá áá áá á¨ááľá ááťáťáŤáá˝áŁ áá á á°á á¨á á°áŤá ááťáťáŤáá˝áŁ áá°ááŤáľá áĽáá°áá áá°áĽ ááá áá° ááá˝ á˛á˘á¤áá¤áľ ááá°áľ ááá á¨áá˝á á˝ááŽá˝á áááľáááľ ááá˘
ááá áá á áá áŁáá á¨ááἠááł ááľáŁá ááá á ááľáĽ á áŁá áĽáŠ áĽáááľ á áľáááá ááá áĽáť áá áĽáá á áŤáľáĄ. á á˛áľ áááá˝ á á˛áľ á¨áááłáá áááŽá˝á ááá áááŁá. áŤáá°á á á á¨á áá ááĽáŚá˝áŁ áᣠáᣠá¨áá¨á áľáááľáŁ áŤáá°á á á á¨áá°ááá፠áááľ áĽá á¨áááľáá ááłáŽá˝áŁ á á¨ááá áĽá¨á¨áᨠá¨ááá°á áľáŤáá áĽá á á˛áľ á¨á ááłá¨ áá¨áĽ áááá˝ á¨ááἠááłáá á ááŤá¨áĽáŁ á¨ááἠáá´áᣠá¨áľááŞáľ áá´á áĽá á¨ááἠááł áá áá áĽáá°áá áĽáá˛áŤáľáĄ áŤáľááľáąááłáá˘
...
áá
á á˝áá áľááá°á áá°áĽ á ááááŠá áľ ááᣠá ááááŞáŤá áááᏠáá á ááľáľ á°á¨á᪠áááŽá˝ áá áŠá˘ á¨ááŤá á áŁá áĽá ááĽá ááŁ
PS
á áĽááá˝á áá áŤááĽáĄáĄ-
- ÂŤ
á¨ááἠááłáá˝ áĽá áŠá áááľáľ (á¨áááá áĽá á¨áŞá˛áŽ áááŁ) "; - ÂŤ
á¨á°á¨ááá áááᥠáááá áľá á°áľ á°áá°áá "; - ÂŤ
á¨á áááááľ áá¨áĽáĄ áĽáŤááłááą á¨áśááľáá áááá˛áľ áľá áááłáá á´áááá ááá áŤáá áľ ááá Âť.
ááá: hab.com