зеркало из
				https://github.com/iharh/notes.git
				synced 2025-10-31 13:46:08 +02:00 
			
		
		
		
	m
Этот коммит содержится в:
		
							родитель
							
								
									02061a93a0
								
							
						
					
					
						Коммит
						8bde2c9c1a
					
				| @ -1,2 +1,51 @@ | |||||||
| pg_pathman | pg_pathman | ||||||
| https://habrahabr.ru/company/oleg-bunin/blog/336610/ | https://habrahabr.ru/company/oleg-bunin/blog/336610/ | ||||||
|  | 
 | ||||||
|  | ********************************************************************** | ||||||
|  | Секционирование - разбиение одной большой таблицы на более мелкие сегменты (секции). Само секционирование прозрачно для пользователя и приложения, работающего с PostgreSQL. Для них таблица кажется как и раньше целой. | ||||||
|  | 
 | ||||||
|  | Существует несколько подходов к секционированию: | ||||||
|  | 
 | ||||||
|  | 1️⃣ Наследование таблиц. | ||||||
|  | 
 | ||||||
|  | При создании таблицы, мы указываем ей, что она наследуется от другой (родительской) таблицы. Здесь у нас получается две таблицы, но данные в них связаны между собой. | ||||||
|  | 
 | ||||||
|  | 2️⃣ Декларативное наследование. | ||||||
|  | 
 | ||||||
|  | Это более продвинутый и гибки вид секционирования. Таблица объявляется секционированной декларативно, а само секционирование настраивается согласно определенному методу (о методах ниже). | ||||||
|  | 
 | ||||||
|  | Механизм секционирования эволюционирует с каждой версией PostgreSQL. Декларативное секционирование появилось в 10й версии PostgreSQL, до этого было только наследование таблиц, и получило большое развитие в 11й версии. В 12й и следующих версиях PostgreSQL механизм декларативного секционирование продолжил развиваться и улучшаться. | ||||||
|  | 
 | ||||||
|  | Секционирование таблиц лучше применять на этапе проектирования базы данных, потому что потом это сделать будет гораздо сложнее. | ||||||
|  | 
 | ||||||
|  | На сколько должна быть большой таблица, чтобы задуматься о секционировании? Если вы считаете, что у вас в базе будет таблица, чей объём превышает объём оперативной памяти сервера, то тут уже можно начать думать о ее секционировании. На небольших таблицах секционирование может оказаться избыточным или не приносить ощутимых преимуществ. | ||||||
|  | 
 | ||||||
|  | ➕ Плюсы секционирования: | ||||||
|  | 
 | ||||||
|  | ✅ Самое очевидное преимущество секционирования состоит в том , что мы можем, например, секцию таблицы с какими-то архивными данными положить на более медленные диски, а секцию с оперативными данными на более быстрые. Т.е. мы можем секции таблицы поместить в разные табличные пространства, в зависимости от данных, хранящихся в них; | ||||||
|  | 
 | ||||||
|  | ✅ Ускорение массовой загрузки или удаления данных. Мы можем добавлять отдельные секции таблицы или удалять их с помощью команд ATTACH/DETACH, что позволит значительно ускорить данные операции; | ||||||
|  | 
 | ||||||
|  | ✅ Повышение производительности запросов. Если выбираемые в запросе данные попадут в одну секцию таблицы, то PostgreSQL не придется их искать по всей таблице, что может существенно повысить производительность запроса. | ||||||
|  | 
 | ||||||
|  | ➖ Минусы секционирования: | ||||||
|  | 
 | ||||||
|  | ✅ Усложнение структуры базы данных. Каждая секция таблицы для PostgreSQL будет считаться отдельной таблицей, хотя она и является частью одной логической таблицы; | ||||||
|  | 
 | ||||||
|  | ✅ Преобразовать существующую таблицу в секционированную и наоборот нельзя. Однако, можно добавить обычную или секционированную таблицу в качестве секции, или удалить секцию и превратить ее в обычную таблицу. | ||||||
|  | 
 | ||||||
|  | Методы декларативного секционирования: | ||||||
|  | 
 | ||||||
|  | ✅ Секционирование по диапазонам.  | ||||||
|  | 
 | ||||||
|  | Таблица секционируется по «диапазонам», которые не пересекаются друг с другом. Например, это могут быть диапазоны дат, или идентификаторы первичного ключа. Границы каждого диапазона считаются включающими нижнее значение и исключающими верхнее. Т.е., если для первой секции задан диапазон значений от 1 до 10, а для второй — от 10 до 20, то значение 10 относится ко второй секции, а не к первой. | ||||||
|  | 
 | ||||||
|  | ✅  Секционирование по списку. | ||||||
|  | 
 | ||||||
|  | Таблица секционируется по определенному списку значений, в котором явно указывается какие значения должны относиться к определённой секции. | ||||||
|  | 
 | ||||||
|  | ✅ Секционирование по хешу. | ||||||
|  | 
 | ||||||
|  | Таблица секционируется по определённым модулям (modulus) и остаткам (remainder), которые указываются для каждой секции. Каждая секция содержит строки, для которых хеш-значение ключа разбиения, делённое на модуль, равняется заданному остатку. | ||||||
|  | 
 | ||||||
|  | Это краткое введение в секционирование таблиц в PostgreSQL. В будущих постах будем погружаться в эту тему глубже и переходить к практике. | ||||||
|  | |||||||
| @ -1,3 +1,5 @@ | |||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/companies/bimeister/articles/779768/ | ||||||
| 2023 | 2023 | ||||||
| https://habr.com/ru/companies/karuna/articles/771134/ | https://habr.com/ru/companies/karuna/articles/771134/ | ||||||
| https://habr.com/ru/companies/ozontech/articles/774712/ | https://habr.com/ru/companies/ozontech/articles/774712/ | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								media/video/editors/handbrake.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										9
									
								
								media/video/editors/handbrake.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | https://handbrake.fr/ | ||||||
|  | https://handbrake.fr/features.php | ||||||
|  | 
 | ||||||
|  | https://github.com/HandBrake/HandBrake | ||||||
|  | 
 | ||||||
|  | https://handbrake.fr/docs/ | ||||||
|  | 
 | ||||||
|  | 2024 | ||||||
|  | https://9to5linux.com/handbrake-1-8-video-transcoder-adds-gtk4-port-on-linux-ffmpeg-7-0-support | ||||||
| @ -1,6 +1,9 @@ | |||||||
| Georkiy Gennadievich | Georkiy Gennadievich | ||||||
| vice-president of RU nano-techno society | vice-president of RU nano-techno society | ||||||
| 
 | 
 | ||||||
|  | 2023 | ||||||
|  | Horoscope - Malinetskiy - Savvateev of 1:39:56 | ||||||
|  |     https://www.youtube.com/watch?v=plX6bsMnzkE | ||||||
| 2022 | 2022 | ||||||
| NDay - Peretolchin - Malinetskiy - New Reality, Selforganisation and Control of the Future of 23:32 of 57:17 | NDay - Peretolchin - Malinetskiy - New Reality, Selforganisation and Control of the Future of 23:32 of 57:17 | ||||||
|     https://nday.club/video/rozhdenie-elity-novogo-mira |     https://nday.club/video/rozhdenie-elity-novogo-mira | ||||||
|  | |||||||
| @ -24,6 +24,8 @@ https://vk.com/muzejkonstruirovaniyabudushchego | |||||||
| https://vk.com/video/@muzejkonstruirovaniyabudushchego | https://vk.com/video/@muzejkonstruirovaniyabudushchego | ||||||
| 
 | 
 | ||||||
| 2024 | 2024 | ||||||
|  | AlexeyNovitskiyChannel - Novitskiy - Devyatov - New Epoch Int-Signs of 52:58 | ||||||
|  |     https://www.youtube.com/watch?v=p8Kkj2wEyTU | ||||||
| TruthInstitute - Devyatov - About our Victory in WW of 39:50 | TruthInstitute - Devyatov - About our Victory in WW of 39:50 | ||||||
|     https://www.youtube.com/watch?v=jBm2qT20xXw |     https://www.youtube.com/watch?v=jBm2qT20xXw | ||||||
|     !!! |     !!! | ||||||
|  | |||||||
| @ -9,3 +9,5 @@ https://www.redhat.com/sysadmin/fzf-linux-fuzzy-finder | |||||||
| 2021 | 2021 | ||||||
| https://seb.jambor.dev/posts/improving-shell-workflows-with-fzf/ | https://seb.jambor.dev/posts/improving-shell-workflows-with-fzf/ | ||||||
|     https://habr.com/ru/company/skillfactory/blog/550470/ |     https://habr.com/ru/company/skillfactory/blog/550470/ | ||||||
|  | 2019 | ||||||
|  | https://www.freecodecamp.org/news/fzf-a-command-line-fuzzy-finder-missing-demo-a7de312403ff/ | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								pl/cross/methodologies/dp-patterns/step-builder.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										2
									
								
								pl/cross/methodologies/dp-patterns/step-builder.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/articles/816471/ | ||||||
| @ -1,5 +1,6 @@ | |||||||
| 2024 | 2024 | ||||||
| https://blog.bitsrc.io/10-microservice-anti-patterns-278bcb7f385d | https://blog.bitsrc.io/10-microservice-anti-patterns-278bcb7f385d | ||||||
|  |     https://nuancesprog.ru/p/21085/ | ||||||
| 2021 | 2021 | ||||||
| https://habr.com/ru/post/556090/ | https://habr.com/ru/post/556090/ | ||||||
|     ! entity service |     ! entity service | ||||||
|  | |||||||
							
								
								
									
										1
									
								
								pl/cross/tools/diff/delta-rs.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										1
									
								
								pl/cross/tools/diff/delta-rs.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1 @@ | |||||||
|  | delta-rs | ||||||
							
								
								
									
										1
									
								
								pl/cross/tools/diff/diff-so-fancy.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										1
									
								
								pl/cross/tools/diff/diff-so-fancy.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1 @@ | |||||||
|  | https://github.com/so-fancy/diff-so-fancy | ||||||
| @ -1,5 +1,7 @@ | |||||||
| https://go.dev/doc/tutorial/generics | https://go.dev/doc/tutorial/generics | ||||||
| 
 | 
 | ||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/articles/817003/ | ||||||
| 2023 | 2023 | ||||||
| GoFunc - Gorkun - What is Behind Go Generics 0:00 of 38:04 | GoFunc - Gorkun - What is Behind Go Generics 0:00 of 38:04 | ||||||
|     https://www.youtube.com/watch?v=GS91ZUJt6r8 |     https://www.youtube.com/watch?v=GS91ZUJt6r8 | ||||||
|  | |||||||
| @ -1,5 +1,8 @@ | |||||||
| https://github.com/dnsjava/dnsjava | https://github.com/dnsjava/dnsjava | ||||||
|  | https://www.javadoc.io/doc/com.discoverydns/ddns-dnsjava/latest/index.html | ||||||
| 
 | 
 | ||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/companies/productradar/articles/815931/ | ||||||
| 2023 | 2023 | ||||||
| https://coderambling.com/2023/09/dns-response-in-java/ | https://coderambling.com/2023/09/dns-response-in-java/ | ||||||
| https://coderambling.com/2023/09/java-dns-requests/ | https://coderambling.com/2023/09/java-dns-requests/ | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								pl/java/libfws/spring/boot/test/features/test-context.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										2
									
								
								pl/java/libfws/spring/boot/test/features/test-context.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/companies/tinkoff/articles/816051/ | ||||||
| @ -28,6 +28,10 @@ public class MyBean { | |||||||
|     WRITER$.write(this, SpecificData.getEncoder(out)); |     WRITER$.write(this, SpecificData.getEncoder(out)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | testing | ||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/companies/alfastrah/articles/816057/ | ||||||
|  | 
 | ||||||
| batching | batching | ||||||
| https://stackoverflow.com/questions/58492689/how-to-send-batched-data-with-spring-kafka-producer | https://stackoverflow.com/questions/58492689/how-to-send-batched-data-with-spring-kafka-producer | ||||||
| 2020 | 2020 | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| 2024 | 2024 | ||||||
|  | https://habr.com/ru/articles/741458/ | ||||||
| https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html | https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html | ||||||
| 2023 | 2023 | ||||||
| https://priver.dev/blog/rust/traits/ | https://priver.dev/blog/rust/traits/ | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								pl/web/browsers/chrome/devtools/perf-analysis.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										2
									
								
								pl/web/browsers/chrome/devtools/perf-analysis.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | 2024 | ||||||
|  | https://blog.jiayihu.net/comprenhensive-guide-chrome-performance/ | ||||||
							
								
								
									
										5
									
								
								science/ai/offline-local/tabby.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										5
									
								
								science/ai/offline-local/tabby.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | https://tabby.tabbyml.com/ | ||||||
|  | 
 | ||||||
|  | https://github.com/TabbyML/tabby | ||||||
|  | 
 | ||||||
|  | https://tabby.tabbyml.com/docs/quick-start/installation/docker/ | ||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Ihar Hancharenka
						Ihar Hancharenka