ืงืกื ื“ืจื”. ืื™ืš ืœื ืœืžื•ืช ืื ืืชื” ืจืง ืžื›ื™ืจ ืืช ืื•ืจืงืœ

ื”ื™ื™ ื”ื‘ืจ.

ืฉืžื™ ืžื™ืฉื” ื‘ื•ื˜ืจื™ืžื•ื‘, ืื ื™ ืจื•ืฆื” ืœืกืคืจ ืœืš ืงืฆืช ืขืœ ืงืกื ื“ืจื”. ื”ืกื™ืคื•ืจ ืฉืœื™ ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ืœืžื™ ืฉืžืขื•ืœื ืœื ื ืชืงืœ ื‘ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ืฉืœ NoSQL - ื™ืฉ ืœื• ื”ืจื‘ื” ืชื›ื•ื ื•ืช ื”ื˜ืžืขื” ื•ืžืœื›ื•ื“ื•ืช ืฉืืชื” ืฆืจื™ืš ืœื“ืขืช ืขืœื™ื”ืŸ. ื•ืื ืœื ืจืื™ืช ืฉื•ื ื“ื‘ืจ ืžืœื‘ื“ ืื•ืจืงืœ ืื• ื›ืœ ืžืกื“ ื ืชื•ื ื™ื ื™ื—ืกื™ ืื—ืจ, ื”ื“ื‘ืจื™ื ื”ืืœื” ื™ืฆื™ืœื• ืืช ื—ื™ื™ืš.

ืžื” ื›ืœ ื›ืš ื˜ื•ื‘ ื‘ืงืกื ื“ืจื”? ื–ื”ื• ืžืกื“ ื ืชื•ื ื™ื NoSQL ืฉืชื•ื›ื ืŸ ืœืœื ื ืงื•ื“ืช ื›ืฉืœ ืื—ืช ืฉืžืชืจื—ื‘ ื”ื™ื˜ื‘. ืื ืืชื” ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ื›ืžื” ื˜ืจื”-ื‘ื™ื™ื˜ ืขื‘ื•ืจ ืžืกื“ ื ืชื•ื ื™ื ื›ืœืฉื”ื•, โ€‹โ€‹ืืชื” ืคืฉื•ื˜ ืžื•ืกื™ืฃ ืฆืžืชื™ื ืœื˜ื‘ืขืช. ืœื”ืจื—ื™ื‘ ืื•ืชื• ืœืžืจื›ื– ื ืชื•ื ื™ื ืื—ืจ? ื”ื•ืกืฃ ืฆืžืชื™ื ืœืืฉื›ื•ืœ. ืœื”ื’ื“ื™ืœ ืืช ื”-RPS ื”ืžืขื•ื‘ื“? ื”ื•ืกืฃ ืฆืžืชื™ื ืœืืฉื›ื•ืœ. ื–ื” ืขื•ื‘ื“ ื’ื ื‘ื›ื™ื•ื•ืŸ ื”ื”ืคื•ืš.

ืงืกื ื“ืจื”. ืื™ืš ืœื ืœืžื•ืช ืื ืืชื” ืจืง ืžื›ื™ืจ ืืช ืื•ืจืงืœ

ื‘ืžื” ืขื•ื“ ื”ื™ื ื˜ื•ื‘ื”? ืžื“ื•ื‘ืจ ื‘ื˜ื™ืคื•ืœ ื‘ื”ืจื‘ื” ื‘ืงืฉื•ืช. ืื‘ืœ ื›ืžื” ื–ื” ื”ืจื‘ื”? 10, 20, 30, 40 ืืœืฃ ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื” ื–ื” ืœื ื”ืจื‘ื”. 100 ืืœืฃ ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื” ืœื”ืงืœื˜ื” - ื’ื ื›ืŸ. ื™ืฉ ื—ื‘ืจื•ืช ืฉืืžืจื• ืฉื”ืŸ ืฉื•ืžืจื•ืช 2 ืžื™ืœื™ื•ืŸ ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื”. ื”ื ื›ื ืจืื” ื™ืฆื˜ืจื›ื• ืœื”ืืžื™ืŸ ื‘ื–ื”.

ื•ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ืœืงืกื ื“ืจื” ื™ืฉ ื”ื‘ื“ืœ ืื—ื“ ื’ื“ื•ืœ ืžื ืชื•ื ื™ื ืจืœืฆื™ื•ื ื™ื™ื โ€“ ื”ื•ื ืœื ื“ื•ืžื” ืœื”ื ื‘ื›ืœืœ. ื•ืืช ื–ื” ื—ืฉื•ื‘ ืžืื•ื“ ืœื–ื›ื•ืจ.

ืœื ื›ืœ ืžื” ืฉื ืจืื” ืื•ืชื• ื“ื‘ืจ ืขื•ื‘ื“ ืื•ืชื• ื”ื“ื‘ืจ

ืคืขื ืื—ืช ื”ื’ื™ืข ืืœื™ ืขืžื™ืช ื•ืฉืืœ: "ื”ื ื” ืฉืคืช ืฉืื™ืœืชื•ืช CQL Cassandra, ื•ื™ืฉ ืœื” ื”ืฆื”ืจืช select, ื™ืฉ ืœื” ืื™ืคื”, ื™ืฉ ืœื” ื•. ืื ื™ ื›ื•ืชื‘ ืžื›ืชื‘ื™ื ื•ื–ื” ืœื ืขื•ื‘ื“. ืœืžื”?". ื”ืชื™ื™ื—ืกื•ืช ืœืงืกื ื“ืจื” ื›ืืœ ืžืกื“ ื ืชื•ื ื™ื ื™ื—ืกื™ ื”ื™ื ื”ื“ืจืš ื”ืžื•ืฉืœืžืช ืœื”ืชืื‘ื“ ื‘ืืœื™ืžื•ืช. ื•ืื ื™ ืœื ืžืงื“ื ืืช ื–ื”, ื–ื” ืืกื•ืจ ื‘ืจื•ืกื™ื”. ืืชื” ืคืฉื•ื˜ ืชืขืฆื‘ ืžืฉื”ื• ืœื ื ื›ื•ืŸ.

ืœืžืฉืœ, ืžื’ื™ืข ืืœื™ื ื• ืœืงื•ื— ื•ืื•ืžืจ: โ€œื‘ื•ืื• ื ื‘ื ื” ืžืื’ืจ ืžื™ื“ืข ืœืกื“ืจื•ืช ื˜ืœื•ื•ื™ื–ื™ื”, ืื• ืžืื’ืจ ืžื™ื“ืข ืขื‘ื•ืจ ืกืคืจื™ื™ืช ืžืชื›ื•ื ื™ื. ื™ื”ื™ื• ืœื ื• ืฉื ืžื ื•ืช ืื•ื›ืœ ืื• ืจืฉื™ืžื” ืฉืœ ืกื“ืจื•ืช ื˜ืœื•ื•ื™ื–ื™ื” ื•ืฉื—ืงื ื™ื ื‘ื”โ€. ืื ื—ื ื• ืื•ืžืจื™ื ื‘ืฉืžื—ื”: "ื‘ื•ื ื ืœืš!" ืคืฉื•ื˜ ืฉืœื— ืฉื ื™ ื‘ืชื™ื, ื›ืžื” ืกื™ืžื ื™ื ื•ืกื™ื™ืžืช, ื”ื›ืœ ื™ืขื‘ื•ื“ ืžื”ืจ ืžืื•ื“ ื•ื‘ืืžื™ื ื•ืช. ื•ื”ื›ืœ ื‘ืกื“ืจ ืขื“ ืฉื”ืœืงื•ื—ื•ืช ื‘ืื™ื ื•ืื•ืžืจื™ื ืฉื’ื ืขืงืจื•ืช ื‘ื™ืช ืคื•ืชืจื•ืช ืืช ื”ื‘ืขื™ื” ื”ื”ืคื•ื›ื”: ื™ืฉ ืœื”ืŸ ืจืฉื™ืžืช ืžื•ืฆืจื™ื, ื•ื”ืŸ ืจื•ืฆื•ืช ืœื“ืขืช ืื™ื–ื” ืžืื›ืœ ื”ืŸ ืจื•ืฆื•ืช ืœื‘ืฉืœ. ืืชื” ืžืช.

ื”ืกื™ื‘ื” ืœื›ืš ื”ื™ื ืฉืงืกื ื“ืจื” ื”ื™ื ืžืกื“ ื ืชื•ื ื™ื ื”ื™ื‘ืจื™ื“ื™: ื”ื•ื ืžืกืคืง ื‘ื• ื–ืžื ื™ืช ืขืจืš ืžืคืชื— ื•ืžืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืขืžื•ื“ื•ืช ืจื—ื‘ื•ืช. ื‘-Java ืื• Kotlin, ืืคืฉืจ ืœืชืืจ ืืช ื–ื” ื›ืš:

Map<RowKey, SortedMap<ColumnKey, ColumnValue>>

ื›ืœื•ืžืจ, ืžืคื” ืฉืžื›ื™ืœื” ื’ื ืžืคื” ืžืžื•ื™ื ืช. ื”ืžืคืชื— ื”ืจืืฉื•ืŸ ืœืžืคื” ื–ื• ื”ื•ื ืžืงืฉ Row ืื• ืžืคืชื— Partition - ืžืคืชื— ื”ืžื—ื™ืฆื•ืช. ื”ืžืคืชื— ื”ืฉื ื™, ืฉื”ื•ื ื”ืžืคืชื— ืœืžืคื” ืฉื›ื‘ืจ ืžืžื•ื™ื ืช, ื”ื•ื ืžืคืชื— Clustering.

ื›ื“ื™ ืœื”ืžื—ื™ืฉ ืืช ื”ืชืคืœื’ื•ืช ืžืกื“ ื”ื ืชื•ื ื™ื, ื ืฆื™ื™ืจ ืฉืœื•ืฉื” ืฆืžืชื™ื. ืขื›ืฉื™ื• ืืชื” ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืื™ืš ืœืคืจืง ืืช ื”ื ืชื•ื ื™ื ืœืฆืžืชื™ื. ื›ื™ ืื ื ื“ื—ื•ืก ื”ื›ืœ ืœืื—ื“ (ืื’ื‘, ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืืœืฃ, ืืœืคื™ื™ื, ื—ืžื™ืฉื” - ื›ืžื” ืฉืชืจืฆื•), ื–ื” ืœื ื‘ืืžืช ืขื ื™ื™ืŸ ืฉืœ ื”ืคืฆื”. ืœื›ืŸ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืคื•ื ืงืฆื™ื” ืžืชืžื˜ื™ืช ืฉืชื—ื–ื™ืจ ืžืกืคืจ. ืจืง ืžืกืคืจ, ืื™ื ื˜ ืืจื•ืš ืฉื™ื™ื›ื ืก ืœื˜ื•ื•ื— ืžืกื•ื™ื. ื•ื™ื”ื™ื” ืœื ื• ืฆื•ืžืช ืื—ื“ ืื—ืจืื™ ืขืœ ื˜ื•ื•ื— ืื—ื“, ื”ืฉื ื™ ืœืฉื ื™, ื”-nth ืœ-nth.

ืงืกื ื“ืจื”. ืื™ืš ืœื ืœืžื•ืช ืื ืืชื” ืจืง ืžื›ื™ืจ ืืช ืื•ืจืงืœ

ืžืกืคืจ ื–ื” ื ืœืงื— ื‘ืืžืฆืขื•ืช ืคื•ื ืงืฆื™ื™ืช Hash, ืืฉืจ ืžื•ื—ืœืช ืขืœ ืžื” ืฉืื ื• ืžื›ื ื™ื ืžืคืชื— Partition. ื–ื• ื”ืขืžื•ื“ื” ืฉืฆื•ื™ื ื” ื‘ื”ื ื—ื™ื™ืช ืžืคืชื— ืจืืฉื™, ื•ื–ื• ื”ืขืžื•ื“ื” ืฉืชื”ื™ื” ื”ืžืคืชื— ื”ืจืืฉื•ืŸ ื•ื”ื‘ืกื™ืกื™ ื‘ื™ื•ืชืจ ืฉืœ ื”ืžืคื”. ื”ื•ื ืงื•ื‘ืข ืื™ื–ื” ืฆื•ืžืช ื™ืงื‘ืœ ืื™ืœื• ื ืชื•ื ื™ื. ื ื•ืฆืจืช ื˜ื‘ืœื” ื‘ืงืกื ื“ืจื” ืขื ืื•ืชื• ืชื—ื‘ื™ืจ ื›ืžืขื˜ ื›ืžื• ื‘-SQL:

CREATE TABLE users (
	user_id uu id,
	name text,
	year int,
	salary float,
	PRIMARY KEY(user_id)

)

ื”ืžืคืชื— ื”ืจืืฉื™ ื‘ืžืงืจื” ื–ื” ืžื•ืจื›ื‘ ืžืขืžื•ื“ื” ืื—ืช, ื•ื”ื•ื ื’ื ืžืคืชื— ื”ืžื—ื™ืฆื•ืช.

ื›ื™ืฆื“ ื™ืคืขืœื• ื”ืžืฉืชืžืฉื™ื ืฉืœื ื•? ื—ืœืงื ื™ืœื›ื• ืœืฆื•ืžืช ืื—ื“, ื—ืœืงื ืœืื—ืจ, ื•ื—ืœืงื ืœืฉืœื™ืฉื™. ื”ืชื•ืฆืื” ื”ื™ื ื˜ื‘ืœืช hash ืจื’ื™ืœื”, ื”ืžื›ื•ื ื” ื’ื ืžืคื”, ื”ื™ื“ื•ืขื” ื’ื ื›ืžื™ืœื•ืŸ ื‘-Python, ืื• ืžื‘ื ื” ืขืจื›ื™ ืžืคืชื— ืคืฉื•ื˜ ืžืžื ื• ื ื•ื›ืœ ืœืงืจื•ื ืืช ื›ืœ ื”ืขืจื›ื™ื, ืœืงืจื•ื ื•ืœื›ืชื•ื‘ ืœืคื™ ืžืคืชื—.

ืงืกื ื“ืจื”. ืื™ืš ืœื ืœืžื•ืช ืื ืืชื” ืจืง ืžื›ื™ืจ ืืช ืื•ืจืงืœ

ื‘ื—ืจ: ื›ืืฉืจ ืืคืฉืจ ืกื™ื ื•ืŸ ื”ื•ืคืš ืœืกืจื™ืงื” ืžืœืื”, ืื• ืžื” ืœื ืœืขืฉื•ืช

ื‘ื•ื ื ื›ืชื•ื‘ ืžืฉืคื˜ ื ื‘ื—ืจ: select * from users where, userid = . ืžืกืชื‘ืจ ื›ืžื• ื‘ืื•ืจืงืœ: ืื ื—ื ื• ื›ื•ืชื‘ื™ื select, ืžืฆื™ื™ื ื™ื ืืช ื”ืชื ืื™ื ื•ื”ื›ืœ ืขื•ื‘ื“, ื”ืžืฉืชืžืฉื™ื ืžืงื‘ืœื™ื ืืช ื–ื”. ืื‘ืœ ืื ืชื‘ื—ืจ, ืœืžืฉืœ, ืžืฉืชืžืฉ ืขื ืฉื ืช ืœื™ื“ื” ืžืกื•ื™ืžืช, ืงืกื ื“ืจื” ืžืชืœื•ื ื ืช ืฉื”ื™ื ืœื ื™ื›ื•ืœื” ืœืžืœื ืืช ื”ื‘ืงืฉื”. ื‘ื’ืœืœ ืฉื”ื™ื ืœื ื™ื•ื“ืขืช ื›ืœื•ื ืขืœ ืื™ืš ืื ื—ื ื• ืžืคื™ืฆื™ื ื ืชื•ื ื™ื ืขืœ ืฉื ืช ื”ืœื™ื“ื” - ื™ืฉ ืœื” ืจืง ืขืžื•ื“ื” ืื—ืช ืฉืžืฆื•ื™ื ืช ื›ืžืคืชื—. ื•ืื– ื”ื™ื ืื•ืžืจืช, "ื‘ืกื“ืจ, ืื ื™ ืขื“ื™ื™ืŸ ื™ื›ื•ืœื” ืœืžืœื ืืช ื”ื‘ืงืฉื” ื”ื–ื•. ื”ื•ืกืฃ ืืคืฉืจ ืกื™ื ื•ืŸ." ืื ื—ื ื• ืžื•ืกื™ืคื™ื ืืช ื”ื”ื ื—ื™ื”, ื”ื›ืœ ืขื•ื‘ื“. ื•ื‘ืจื’ืข ื”ื–ื” ืžืฉื”ื• ื ื•ืจื ืงื•ืจื”.

ื›ืฉืื ื—ื ื• ืคื•ืขืœื™ื ืขืœ ื ืชื•ื ื™ ื‘ื“ื™ืงื”, ื”ื›ืœ ื‘ืกื“ืจ. ื•ื›ืฉืืชื” ืžื‘ืฆืข ืฉืื™ืœืชื” ื‘ื”ืคืงื”, ืฉื‘ื” ื™ืฉ ืœื ื•, ืœืžืฉืœ, 4 ืžื™ืœื™ื•ืŸ ืจืฉื•ืžื•ืช, ืื– ื”ื›ืœ ืœื ืžืžืฉ ื˜ื•ื‘ ืขื‘ื•ืจื ื•. ื›ื™ ืœืืคืฉืจ ืกื™ื ื•ืŸ ื”ื™ื ื”ื ื—ื™ื” ืฉืžืืคืฉืจืช ืœืงืกื ื“ืจื” ืœืืกื•ืฃ ืืช ื›ืœ ื”ื ืชื•ื ื™ื ืžื”ื˜ื‘ืœื” ื”ื–ื• ืžื›ืœ ื”ืฆืžืชื™ื, ืžื›ืœ ืžืจื›ื–ื™ ื”ื ืชื•ื ื™ื (ืื ื™ืฉ ืจื‘ื™ื ืžื”ื ื‘ืืฉื›ื•ืœ ื”ื–ื”), ื•ืจืง ืื– ืœืกื ืŸ ืื•ืชื•. ื–ื”ื• ืื ืœื•ื’ื™ ืœืกืจื™ืงื” ืžืœืื”, ื•ื›ืžืขื˜ ืืฃ ืื—ื“ ืœื ืžืจื•ืฆื” ืžืžื ื•.

ืื ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืจืง ืžืฉืชืžืฉื™ื ืœืคื™ ืชืขื•ื“ืช ื–ื”ื•ืช, ื”ื™ื™ื ื• ื‘ืกื“ืจ ืขื ื–ื”. ืื‘ืœ ืœืคืขืžื™ื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื›ืชื•ื‘ ืฉืื™ืœืชื•ืช ืื—ืจื•ืช ื•ืœื”ื˜ื™ืœ ื”ื’ื‘ืœื•ืช ืื—ืจื•ืช ืขืœ ื”ื‘ื—ื™ืจื”. ืœื›ืŸ, ืื ื• ื–ื•ื›ืจื™ื: ื›ืœ ื–ื” ืžืคื” ืฉื™ืฉ ืœื” ืžืคืชื— ืžื—ื™ืฆื•ืช, ืื‘ืœ ื‘ืชื•ื›ื” ืžืคื” ืžืžื•ื™ื ืช.

ื•ื™ืฉ ืœื” ื’ื ืžืคืชื—, ืฉืื ื• ืงื•ืจืื™ื ืœื• ืžืคืชื— ื”ืืฉื›ื•ืœื•ืช. ืžืคืชื— ื–ื”, ืืฉืจ, ื‘ืชื•ืจื•, ืžื•ืจื›ื‘ ืžื”ืขืžื•ื“ื•ืช ืฉืื ื• ื‘ื•ื—ืจื™ื, ื‘ืขื–ืจืชืŸ ืงืกื ื“ืจื” ืžื‘ื™ื ื” ื›ื™ืฆื“ ื”ื ืชื•ื ื™ื ืฉืœื” ืžืžื•ื™ื ื™ื ืคื™ื–ื™ืช ื•ื™ืžื•ืงืžื• ื‘ื›ืœ ืฆื•ืžืช. ื›ืœื•ืžืจ, ืขื‘ื•ืจ ืžืคืชื— Partition ื›ืœืฉื”ื•, โ€‹โ€‹ืžืคืชื— Clustering ื™ื’ื™ื“ ืœืš ื‘ื“ื™ื•ืง ืื™ืš ืœื“ื—ื•ืฃ ืืช ื”ื ืชื•ื ื™ื ืœืขืฅ ื”ื–ื”, ื‘ืื™ื–ื” ืžืงื•ื ื”ื•ื ื™ืชืคื•ืก ืฉื.

ื–ื” ื‘ืืžืช ืขืฅ, ืคืฉื•ื˜ ื ืงืจื ืฉื ืžืฉื•ื•ื”, ืฉืืœื™ื• ืื ื—ื ื• ืžืขื‘ื™ืจื™ื ืงื‘ื•ืฆื” ืžืกื•ื™ืžืช ืฉืœ ืขืžื•ื“ื•ืช ื‘ืฆื•ืจื” ืฉืœ ืื•ื‘ื™ื™ืงื˜, ื•ื”ื•ื ื’ื ืžืฆื•ื™ืŸ ื›ืจืฉื™ืžื” ืฉืœ ืขืžื•ื“ื•ืช.

CREATE TABLE users_by_year_salary_id (
	user_id uuid,
	name text,
	year int,
	salary float,
	PRIMARY KEY((year), salary, user_id)

ืฉื™ืžื• ืœื‘ ืœื”ื ื—ื™ื™ืช ื”ืžืคืชื— ื”ืจืืฉื™; ื”ื˜ื™ืขื•ืŸ ื”ืจืืฉื•ืŸ ืฉืœื• (ื‘ืžืงืจื” ืฉืœื ื•, ื”ืฉื ื”) ื”ื•ื ืชืžื™ื“ ืžืคืชื— ืžื—ื™ืฆื”. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื•ืจื›ื‘ ืžืขืžื•ื“ื” ืื—ืช ืื• ื™ื•ืชืจ, ื–ื” ืœื ืžืฉื ื”. ืื ื™ืฉ ื›ืžื” ืขืžื•ื“ื•ืช, ืฆืจื™ืš ืœื”ืกื™ืจ ืื•ืชื• ืฉื•ื‘ ื‘ืกื•ื’ืจื™ื™ื ื›ื“ื™ ืฉื”ืงื“ื-ืžืขื‘ื“ ืฉืœ ื”ืฉืคื” ื™ื‘ื™ืŸ ืฉื–ื”ื• ื”ืžืคืชื— Primary, ื•ืžืื—ื•ืจื™ื• ื›ืœ ืฉืืจ ื”ืขืžื•ื“ื•ืช ื ืžืฆืื™ื ืžืคืชื— Clustering. ื‘ืžืงืจื” ื–ื”, ื”ื ื™ืฉื•ื“ืจื• ื‘ื”ืฉื•ื•ืื” ืœืคื™ ืกื“ืจ ื”ื•ืคืขืชื. ื›ืœื•ืžืจ, ื”ืขืžื•ื“ื” ื”ืจืืฉื•ื ื” ืžืฉืžืขื•ืชื™ืช ื™ื•ืชืจ, ื”ืฉื ื™ื™ื” ืคื—ื•ืช ืžืฉืžืขื•ืชื™ืช ื•ื›ืŸ ื”ืœืื”. ืื™ืš ืื ื—ื ื• ื›ื•ืชื‘ื™ื, ืœืžืฉืœ, ืฉื•ื•ื” ืฉื“ื•ืช ืขื‘ื•ืจ ืžื—ืœืงื•ืช ื ืชื•ื ื™ื: ืื ื• ืžืคืจื˜ื™ื ืืช ื”ืฉื“ื•ืช, ื•ืขื‘ื•ืจื ืื ื• ื›ื•ืชื‘ื™ื ืื™ืœื• ื’ื“ื•ืœื™ื ื™ื•ืชืจ ื•ืื™ื–ื” ืงื˜ื ื™ื ื™ื•ืชืจ. ื‘ืงืกื ื“ืจื”, ืืœื• ื”ื, ื™ื—ืกื™ืช, ื”ืฉื“ื•ืช ืฉืœ ืžื—ืœืงืช ื”ื ืชื•ื ื™ื, ืขืœื™ื”ื ื™ื—ื•ืœื• ื”ืฉื•ื•ื™ื ืฉื ื›ืชื‘ื• ืขื‘ื•ืจื”.

ืื ื—ื ื• ืงื•ื‘ืขื™ื ืžื™ื•ืŸ ื•ืžื˜ื™ืœื™ื ื”ื’ื‘ืœื•ืช

ืืชื” ืฆืจื™ืš ืœื–ื›ื•ืจ ืฉืกื“ืจ ื”ืžื™ื•ืŸ (ื™ื•ืจื“, ืขื•ืœื”, ืžื” ืฉืœื ื™ื”ื™ื”) ื ืงื‘ืข ื‘ืื•ืชื• ืจื’ืข ืฉื‘ื• ื”ืžืคืชื— ื ื•ืฆืจ, ื•ืœื ื ื™ืชืŸ ืœืฉื ื•ืช ืื•ืชื• ืžืื•ื—ืจ ื™ื•ืชืจ. ื”ื•ื ืงื•ื‘ืข ืคื™ื–ื™ืช ื›ื™ืฆื“ ื™ืžื•ื™ื ื• ื”ื ืชื•ื ื™ื ื•ื›ื™ืฆื“ ื”ื ื™ืื•ื—ืกื ื•. ืื ืขืœื™ืš ืœืฉื ื•ืช ืืช ืžืคืชื— ื”ืืฉื›ื•ืœื•ืช ืื• ืกื“ืจ ื”ืžื™ื•ืŸ, ืชืฆื˜ืจืš ืœื™ืฆื•ืจ ื˜ื‘ืœื” ื—ื“ืฉื” ื•ืœื”ืขื‘ื™ืจ ืืœื™ื” ื ืชื•ื ื™ื. ื–ื” ืœื ื™ืขื‘ื•ื“ ืขื ืื—ื“ ืงื™ื™ื.

ืงืกื ื“ืจื”. ืื™ืš ืœื ืœืžื•ืช ืื ืืชื” ืจืง ืžื›ื™ืจ ืืช ืื•ืจืงืœ

ืžื™ืœืื ื• ืืช ื”ื˜ื‘ืœื” ืฉืœื ื• ื‘ืžืฉืชืžืฉื™ื ื•ืจืื™ื ื• ืฉื”ื ื ืคืœื• ืœื˜ื‘ืขืช, ืชื—ื™ืœื” ืœืคื™ ืฉื ืช ืœื™ื“ื”, ื•ืื—ืจ ื›ืš ืคื ื™ืžื” ื‘ื›ืœ ืฆื•ืžืช ืœืคื™ ืžืฉื›ื•ืจืช ื•ืžื–ื”ื” ืžืฉืชืžืฉ. ื›ืขืช ืื ื• ื™ื›ื•ืœื™ื ืœื‘ื—ื•ืจ ืขืœ ื™ื“ื™ ื”ื˜ืœืช ื”ื’ื‘ืœื•ืช.

ื”ืขื•ื‘ื“ ืฉืœื ื• ืžื•ืคื™ืข ืฉื•ื‘ where, and, ื•ืื ื—ื ื• ืžืงื‘ืœื™ื ืžืฉืชืžืฉื™ื, ื•ื”ื›ืœ ืฉื•ื‘ ื‘ืกื“ืจ. ืื‘ืœ ืื ื ื ืกื” ืœื”ืฉืชืžืฉ ืจืง ื‘ื—ืœืง ืžื”ืžืคืชื— Clustering, ื•ื‘ืื—ื“ ืคื—ื•ืช ืžืฉืžืขื•ืชื™, ืื– ืงืกื ื“ืจื” ืžื™ื“ ืชืชืœื•ื ืŸ ืฉื”ื™ื ืœื ื™ื›ื•ืœื” ืœืžืฆื•ื ืืช ื”ืžืงื•ื ื‘ืžืคื” ืฉืœื ื• ืฉื‘ื• ื”ืื•ื‘ื™ื™ืงื˜ ื”ื–ื”, ืฉื™ืฉ ืœื• ืืช ื”ืฉื“ื•ืช ื”ืืœื” ืขื‘ื•ืจ ื”ืฉื•ื•ืืช ื”ืืคืก, ื•ื–ื” ื–ื” ื”ื™ื” ื‘ื“ื™ื•ืง ืžื•ื’ื“ืจ, - ืื™ืคื” ื”ื•ื ืฉื•ื›ื‘. ืืฆื˜ืจืš ืœืžืฉื•ืš ืืช ื›ืœ ื”ื ืชื•ื ื™ื ืžื”ืฆื•ืžืช ื”ื–ื” ืฉื•ื‘ ื•ืœืกื ืŸ ืื•ืชื. ื•ื–ื” ืื ืœื•ื’ื™ ืœืกืจื™ืงื” ืžืœืื” ื‘ืชื•ืš ืฆื•ืžืช, ื–ื” ืจืข.

ื‘ื›ืœ ืžืฆื‘ ืœื ื‘ืจื•ืจ, ืฆื•ืจ ื˜ื‘ืœื” ื—ื“ืฉื”

ืื ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœืžืงื“ ืžืฉืชืžืฉื™ื ืœืคื™ ืชืขื•ื“ืช ื–ื”ื•ืช, ืื• ืœืคื™ ื’ื™ืœ, ืื• ืœืคื™ ืžืฉื›ื•ืจืช, ืžื” ืขืœื™ื ื• ืœืขืฉื•ืช? ืฉื•ื ื“ื‘ืจ. ืคืฉื•ื˜ ื”ืฉืชืžืฉ ื‘ืฉืชื™ ื˜ื‘ืœืื•ืช. ืื ืืชื” ืฆืจื™ืš ืœื”ื’ื™ืข ืœืžืฉืชืžืฉื™ื ื‘ืฉืœื•ืฉ ื“ืจื›ื™ื ืฉื•ื ื•ืช, ื™ื”ื™ื• ืฉืœื•ืฉ ื˜ื‘ืœืื•ืช. ื—ืœืคื• ื”ื™ืžื™ื ืฉื‘ื”ื ื—ืกื›ื ื• ืžืงื•ื ืขืœ ื”ื‘ื•ืจื’. ื–ื” ื”ืžืฉืื‘ ื”ื–ื•ืœ ื‘ื™ื•ืชืจ. ื–ื” ืขื•ืœื” ื”ืจื‘ื” ืคื—ื•ืช ืžื–ืžืŸ ืชื’ื•ื‘ื”, ืžื” ืฉืขืœื•ืœ ืœื”ื–ื™ืง ืœืžืฉืชืžืฉ. ืœืžืฉืชืžืฉ ื”ืจื‘ื” ื™ื•ืชืจ ื ืขื™ื ืœืงื‘ืœ ืžืฉื”ื• ื‘ืฉื ื™ื™ื” ืžืืฉืจ ื‘-10 ื“ืงื•ืช.

ืื ื• ืžื—ืœื™ืคื™ื ืฉื˜ื— ืžื™ื•ืชืจ ื•ื ืชื•ื ื™ื ืžืคื•ืฉื˜ื™ื ืขื‘ื•ืจ ื”ื™ื›ื•ืœืช ืœื‘ืฆืข ืงื ื” ืžื™ื“ื” ื˜ื•ื‘ ื•ืœืคืขื•ืœ ื‘ืื•ืคืŸ ืืžื™ืŸ. ืื—ืจื™ ื”ื›ืœ, ืœืžืขืฉื”, ืืฉื›ื•ืœ ื”ืžื•ืจื›ื‘ ืžืฉืœื•ืฉื” ืžืจื›ื–ื™ ื ืชื•ื ื™ื, ืฉืœื›ืœ ืื—ื“ ืžื”ื ื—ืžื™ืฉื” ืฆืžืชื™ื, ื‘ืจืžืช ืฉื™ืžื•ืจ ื ืชื•ื ื™ื ืžืงื•ื‘ืœืช (ื›ืฉืฉื•ื ื“ื‘ืจ ืœื ืื‘ื•ื“), ืžืกื•ื’ืœ ืœืฉืจื•ื“ ืืช ืžื•ืชื• ืฉืœ ื“ื˜ื” ืกื ื˜ืจ ืื—ื“ ืœื—ืœื•ื˜ื™ืŸ. ื•ืขื•ื“ ืฉื ื™ ืฆืžืชื™ื ื‘ื›ืœ ืื—ื“ ืžื”ืฉื ื™ื™ื ื”ื ื•ืชืจื™ื. ื•ืจืง ืื—ืจื™ ื–ื” ืžืชื—ื™ืœื•ืช ื”ื‘ืขื™ื•ืช. ื–ื• ื™ืชื™ืจื•ืช ื“ื™ ื˜ื•ื‘ื”, ื–ื” ืฉื•ื•ื” ื›ืžื” ื›ื•ื ื ื™ SSD ื•ืžืขื‘ื“ื™ื ื ื•ืกืคื™ื. ืœื›ืŸ, ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืงืกื ื“ืจื”, ืฉื”ื™ื ืืฃ ืคืขื ืœื SQL, ืฉื‘ื” ืื™ืŸ ืงืฉืจื™ื, ืžืคืชื—ื•ืช ื–ืจื™ื, ืืชื” ืฆืจื™ืš ืœื“ืขืช ื›ืœืœื™ื ืคืฉื•ื˜ื™ื.

ืื ื• ืžืขืฆื‘ื™ื ื”ื›ืœ ืœืคื™ ื‘ืงืฉืชืš. ื”ืขื™ืงืจ ื”ื•ื ืœื ื”ื ืชื•ื ื™ื, ืืœื ืื™ืš ื”ืืคืœื™ืงืฆื™ื” ืชืขื‘ื•ื“ ืื™ืชื. ืื ื”ื•ื ืฆืจื™ืš ืœืงื‘ืœ ื ืชื•ื ื™ื ืฉื•ื ื™ื ื‘ื“ืจื›ื™ื ืฉื•ื ื•ืช ืื• ืื•ืชื ื ืชื•ื ื™ื ื‘ื“ืจื›ื™ื ืฉื•ื ื•ืช, ืขืœื™ื ื• ืœืฉื™ื ืื•ืชื ื‘ืฆื•ืจื” ื ื•ื—ื” ืœืืคืœื™ืงืฆื™ื”. ืื—ืจืช, ื ื™ื›ืฉืœ ื‘ืกืจื™ืงื” ืžืœืื” ื•ืงืกื ื“ืจื” ืœื ืชื™ืชืŸ ืœื ื• ืฉื•ื ื™ืชืจื•ืŸ.

ื“ื”-ื ื•ืจืžืœื™ื–ืฆื™ื” ืฉืœ ื ืชื•ื ื™ื ื”ื™ื ื”ื ื•ืจืžื”. ืื ื—ื ื• ืฉื•ื›ื—ื™ื ืžืฆื•ืจื•ืช ืจื’ื™ืœื•ืช, ืื™ืŸ ืœื ื• ื™ื•ืชืจ ืžืกื“ื™ ื ืชื•ื ื™ื ื™ื—ืกื™ื™ื. ืื ื ื ื™ื— ืžืฉื”ื• 100 ืคืขืžื™ื, ื”ื•ื ื™ืฉื›ื‘ 100 ืคืขืžื™ื. ื–ื” ืขื“ื™ื™ืŸ ื™ื•ืชืจ ื–ื•ืœ ืžืขืฆื™ืจื”.

ืื ื• ื‘ื•ื—ืจื™ื ืืช ื”ืžืคืชื—ื•ืช ืœื—ืœื•ืงื” ื›ืš ืฉื”ื ื™ื—ื•ืœืงื• ื‘ืฆื•ืจื” ื ื•ืจืžืœื™ืช. ืื ื—ื ื• ืœื ืจื•ืฆื™ื ืฉื”-hash ืฉืœ ื”ืžืคืชื—ื•ืช ืฉืœื ื• ื™ื™ืคื•ืœ ืœื˜ื•ื•ื— ืฆืจ ืื—ื“. ื›ืœื•ืžืจ, ืฉื ืช ื”ืœื™ื“ื” ื‘ื“ื•ื’ืžื” ืœืžืขืœื” ื”ื™ื ื“ื•ื’ืžื” ืจืขื”. ืœื™ืชืจ ื“ื™ื•ืง, ื–ื” ื˜ื•ื‘ ืื ื”ืžืฉืชืžืฉื™ื ืฉืœื ื• ืžื—ื•ืœืงื™ื ืจื’ื™ืœ ืœืคื™ ืฉื ืช ืœื™ื“ื”, ื•ืจืข ืื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืชืœืžื™ื“ื™ ื›ื™ืชื•ืช ื”' - ื”ื—ืœื•ืงื” ืฉื ืœื ืชื”ื™ื” ื˜ื•ื‘ื” ื‘ืžื™ื•ื—ื“.

ื”ืžื™ื•ืŸ ื ื‘ื—ืจ ืคืขื ืื—ืช ื‘ืฉืœื‘ ื™ืฆื™ืจืช ืžืคืชื— ืืฉื›ื•ืœื•ืช. ืื ื™ืฉ ืฆื•ืจืš ืœืฉื ื•ืช ืื•ืชื•, ื ืฆื˜ืจืš ืœืขื“ื›ืŸ ืืช ื”ื˜ื‘ืœื” ืฉืœื ื• ืขื ืžืคืชื— ืื—ืจ.

ื•ื”ื“ื‘ืจ ื”ื›ื™ ื—ืฉื•ื‘: ืื ื ืฆื˜ืจืš ืœืฉืœื•ืฃ ืืช ืื•ืชื ื ืชื•ื ื™ื ื‘-100 ื“ืจื›ื™ื ืฉื•ื ื•ืช, ืื– ื™ื”ื™ื• ืœื ื• 100 ื˜ื‘ืœืื•ืช ืฉื•ื ื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”