зеркало из
				https://github.com/iharh/notes.git
				synced 2025-10-31 05:36:08 +02:00 
			
		
		
		
	m
Этот коммит содержится в:
		
							родитель
							
								
									6145f88177
								
							
						
					
					
						Коммит
						3528f86398
					
				| @ -2,6 +2,8 @@ | |||||||
| ByteByteGo - ACID Properties in Databases With Examples 3:00 of 4:56 | ByteByteGo - ACID Properties in Databases With Examples 3:00 of 4:56 | ||||||
|     https://www.youtube.com/watch?v=GAe5oB742dw |     https://www.youtube.com/watch?v=GAe5oB742dw | ||||||
|     ! 2:57 Isolation Level and Violations table |     ! 2:57 Isolation Level and Violations table | ||||||
|  | 2021 | ||||||
|  | https://habr.com/ru/articles/555920/ | ||||||
| 2019 | 2019 | ||||||
| Hussein Nasser - Relational Database ACID Transactions (Explained by Example) 28:00 of 42:42 | Hussein Nasser - Relational Database ACID Transactions (Explained by Example) 28:00 of 42:42 | ||||||
|     https://www.youtube.com/watch?v=pomxJOFVcQs |     https://www.youtube.com/watch?v=pomxJOFVcQs | ||||||
|  | |||||||
							
								
								
									
										58
									
								
								db/sql/postgres/feature/index/types.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										58
									
								
								db/sql/postgres/feature/index/types.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,58 @@ | |||||||
|  | ************************************************************************************************************ | ||||||
|  | ✅ В предыдущем посте мы перечислили какие индексы использует PostgreSQL (https://t.me/pg_guru/724), рассмотрим индекс BRIN подробнее. | ||||||
|  | 
 | ||||||
|  | BRIN (Block Range INdex) — это тип индекса в PostgreSQL, который предназначен для работы с очень большими таблицами, где данные имеют естественный порядок, например, временные ряды. | ||||||
|  | 
 | ||||||
|  | ✅ BRIN индексы были введены в PostgreSQL в версии 9.5. Основным разработчиком, который предложил и реализовал BRIN индексы, является Альваро Эррера (Alvaro Herrera). Он работал в сотрудничестве с другими участниками сообщества PostgreSQL, чтобы внедрить эту инновацию. | ||||||
|  | 
 | ||||||
|  | BRIN индексы экономичны по использованию дискового пространства и обеспечивают хорошие показатели производительности для определенных типов запросов. | ||||||
|  | 
 | ||||||
|  | ✅ Основные особенности и принцип работы BRIN индексов: | ||||||
|  | 
 | ||||||
|  | Диапазоны блоков: | ||||||
|  | 
 | ||||||
|  | BRIN индексы индексируют данные на уровне блоков таблицы, а не на уровне отдельных строк. | ||||||
|  | 
 | ||||||
|  | Хранят минимальные и максимальные значения для каждого блока данных. | ||||||
|  | 
 | ||||||
|  | Блок - это базовая единица хранения данных Postgres, по умолчанию он составляет 8 КБ данных. BRIN производит выборку диапазона блоков (по умолчанию 128), сохраняя местоположение первого блока в диапазоне, а также минимальное и максимальное значения для всех значений в этих блоках. | ||||||
|  | 
 | ||||||
|  | Экономичность по дисковому пространству: | ||||||
|  | 
 | ||||||
|  | ✅ BRIN индексы занимают значительно меньше места на диске по сравнению с B-tree и другими типами индексов, потому что они сохраняют метаданные только для блоков, а не для каждой строки. | ||||||
|  | 
 | ||||||
|  | Оптимальны для упорядоченных данных: | ||||||
|  | 
 | ||||||
|  | ✅ BRIN индексы эффективны, когда данные имеют естественный порядок или кластеризованы. Например, временные метки в журнале событий, данные о времени или измерениях. | ||||||
|  | 
 | ||||||
|  | ✅ При правильном использовании индекс BRIN сэкономит более 99% дискового пространства. | ||||||
|  | 
 | ||||||
|  | Пример использования BRIN индексов | ||||||
|  | 
 | ||||||
|  | 📌 Создание таблицы | ||||||
|  | 
 | ||||||
|  | CREATE TABLE measurements ( id SERIAL PRIMARY KEY, sensor_id INT, temperature FLOAT, timestamp TIMESTAMP );  | ||||||
|  | 
 | ||||||
|  | 📌 Вставка данных | ||||||
|  | 
 | ||||||
|  | INSERT INTO measurements (sensor_id, temperature, timestamp) VALUES (1, 23.5, '2024-05-29 10:00:00'), (1, 24.0, '2024-05-29 10:01:00'), -- множество других записей (1, 22.0, '2024-05-29 12:00:00');  | ||||||
|  | 
 | ||||||
|  | 📌 Создание BRIN индекса | ||||||
|  | 
 | ||||||
|  | При создании BRIN индекса следует использовать правильный синтаксис, включая указание типа индекса и проверку на правильность используемого столбца. | ||||||
|  | 
 | ||||||
|  | CREATE INDEX measurements_brin_idx ON measurements USING BRIN (timestamp);  | ||||||
|  | 
 | ||||||
|  | Этот индекс будет хранить минимальные и максимальные значения для timestamp в каждом блоке данных. | ||||||
|  | 
 | ||||||
|  | Пример запроса, использующих BRIN индекс | ||||||
|  | 
 | ||||||
|  | 📌 Поиск по диапазону времени | ||||||
|  | 
 | ||||||
|  | SELECT * FROM measurements WHERE timestamp BETWEEN '2024-05-29 10:00:00' AND '2024-05-29 11:00:00';  | ||||||
|  | 
 | ||||||
|  | ✅ Этот запрос будет использовать BRIN индекс для быстрого определения блоков данных, содержащих нужные временные метки. | ||||||
|  | 
 | ||||||
|  | ✅ Обслуживание BRIN индексов включает в себя регулярное выполнение команд VACUUM и ANALYZE, использование команды REINDEX для перестройки индексов при необходимости, настройку параметров autovacuum, и создание индексов на упорядоченных данных.  | ||||||
|  | 
 | ||||||
|  | ✅ Эти практики помогут поддерживать высокую производительность и актуальность BRIN индексов в PostgreSQL. Однако, как и все инструменты, они должны использоваться в соответствующих сценариях, где их преимущества могут быть полностью реализованы. | ||||||
							
								
								
									
										58
									
								
								db/sql/postgres/feature/query/prepared.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										58
									
								
								db/sql/postgres/feature/query/prepared.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,58 @@ | |||||||
|  | 2021 | ||||||
|  | https://habr.com/ru/companies/postgrespro/articles/574702/ | ||||||
|  | 
 | ||||||
|  | ********************************************************************************************************** | ||||||
|  | Подготовленные запросы (PREPARE statement) в PostgreSQL. | ||||||
|  | 
 | ||||||
|  | Вчера мы с вами поговорили (https://t.me/pg_guru/728) об этапах прохождения запроса и видах протоколов запросов в PostgreSQL. И упомянули о так называемых подготовленных запросах. В сегодняшнем посте более подробно поговорим об этой технологии. | ||||||
|  | 
 | ||||||
|  | Подготовленные запросы относятся к расширенному протоколу запросов и позволяют нам подготовить запрос заранее для выполнения, указав все необходимые параметры. Это может быть полезно, если у вас есть часто выполняющиеся одинаковые по сути запросы, отличающиеся только передаваемыми в них параметрами. С помощью подготовленных запросов мы можем проскочить этапы выполнения запроса, такие как разбор и трансформация, увеличив тем самым производительность. | ||||||
|  | 
 | ||||||
|  | Синтаксис подготовленного запроса будет таким: | ||||||
|  | 
 | ||||||
|  | PREPARE имя_запроса [ ( типы_данных [, ...] ) ] AS текст_запроса параметры_запроса; | ||||||
|  | 
 | ||||||
|  | Имя_запроса - произвольное имя подготовленного запроса. Пригодиться нам для последующего выполнения запроса; | ||||||
|  | 
 | ||||||
|  | Типы_данных - перечисляем типы данных, фигурирующих в запросе поочерёдно. Если не указать тип данных для параметра, то этот параметр будет выведен из контекста запроса, если это возможно; | ||||||
|  | 
 | ||||||
|  | Текст_запроса - собственно, текст самого запроса. Здесь может быть любой SQL-оператор: SELECT, INSERT, UPDATE, DELETE, MERGE или VALUES; | ||||||
|  | 
 | ||||||
|  | Параметры_запроса - перечисляем параметры нашего запроса в виде $1, $2 и т.д. Очередность параметров должна соответствовать очерёдности типов данных. | ||||||
|  | 
 | ||||||
|  | Пример: | ||||||
|  | 
 | ||||||
|  | PREPARE workers (INT, TEXT, DATE) AS | ||||||
|  | INSERT INTO workers_info VALUES($1, $2, $3); | ||||||
|  | 
 | ||||||
|  | В ответ получим сообщение: | ||||||
|  | 
 | ||||||
|  | PREPARE | ||||||
|  | 
 | ||||||
|  | Что говорит об успешной подготовке запроса. | ||||||
|  | 
 | ||||||
|  | Теперь нам нужно выполнить подготовленный запрос. Для этого используется команда EXECUTE. Синтаксис будет таким: | ||||||
|  | 
 | ||||||
|  | EXECUTE имя_подготовленного_запроса (значение_первого_параметра, значение_второго_параметра, ...); | ||||||
|  | 
 | ||||||
|  | Продолжая наш пример, выполнение подготовленного запроса может выглядеть так: | ||||||
|  | 
 | ||||||
|  | EXECUTE workers (3, 'Ivan', '1982-01-01'); | ||||||
|  | 
 | ||||||
|  | Чтобы удалить подготовленный запрос, используется команда DEALLOCATE. Синтаксис будет таким: | ||||||
|  | 
 | ||||||
|  | DEALLOCATE имя_подготовленного_запроса; | ||||||
|  | 
 | ||||||
|  | В нашем случае будет так: | ||||||
|  | 
 | ||||||
|  | DEALLOCATE workers; | ||||||
|  | 
 | ||||||
|  | Мы так же можем узнать какой план выбирает PostgreSQL для нашего подготовленного запроса: | ||||||
|  | 
 | ||||||
|  | EXPLAIN EXECUTE имя_подготовленного_запроса (значения_параметров); | ||||||
|  | 
 | ||||||
|  | Если PostgreSQL применит общий план запросов, то вместо значений параметров вы увидите символ $n в плане выполнения запросов, если это будет индивидуальный план, то вы увидите значения фактических параметров. | ||||||
|  | 
 | ||||||
|  | Подготовленные запросы существуют только в рамках одной сессии. Если сессия завершилась, то PostgreSQL забудет про такой запрос и в следующий раз его придется подготовить заново. | ||||||
|  | 
 | ||||||
|  | Подготовленные запросы дают максимальный выигрыш в производительности тогда, когда в одном сеансе выполняется много однотипных запросов, особенно если в запросах используются сложные операции объединения таблиц или еще какие-то. Подготовленные запросы позволяют PostgreSQL избежать лишней подготовки и трансформации запроса, что повышает производительность системы. | ||||||
| @ -16,3 +16,6 @@ show default_transaction_isolation; | |||||||
|     read committed |     read committed | ||||||
| 
 | 
 | ||||||
| at distinct level we use distinct snapshoting strategies ... | at distinct level we use distinct snapshoting strategies ... | ||||||
|  | 
 | ||||||
|  | 2024 | ||||||
|  | https://habr.com/ru/articles/815323/ | ||||||
|  | |||||||
							
								
								
									
										1
									
								
								devops/cloud/google/youtube/clients/newpipe.txt
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										1
									
								
								devops/cloud/google/youtube/clients/newpipe.txt
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1 @@ | |||||||
|  | https://newpipe.net/ | ||||||
| @ -1,3 +1,4 @@ | |||||||
| 2024 | 2024 | ||||||
|  | https://habr.com/ru/news/819081/ | ||||||
| https://habr.com/ru/articles/818565/ | https://habr.com/ru/articles/818565/ | ||||||
| https://proglib.io/p/docker-ushel-iz-rf-instrukciya-po-vosstanovleniyu-dostupa-k-docker-hub-dlya-polzovateley-iz-rossii-2024-05-30 | https://proglib.io/p/docker-ushel-iz-rf-instrukciya-po-vosstanovleniyu-dostupa-k-docker-hub-dlya-polzovateley-iz-rossii-2024-05-30 | ||||||
|  | |||||||
| @ -14297,3 +14297,16 @@ Dvorim - Slova - po evreyski | |||||||
| 
 | 
 | ||||||
|     Kogda stroyat dom, o takoy melochi, kak ograda kryshi, mogut i zabyt |     Kogda stroyat dom, o takoy melochi, kak ograda kryshi, mogut i zabyt | ||||||
|         - no esli kto-to svalilsya, to uzhe eta samaya ograda - v epicentre tvoego vnimaniya |         - no esli kto-to svalilsya, to uzhe eta samaya ograda - v epicentre tvoego vnimaniya | ||||||
|  |         - da i v RU samaya prenebregaemaya oblast - tehnika bezopasnosti | ||||||
|  |         - hotya eto i vezde tak bolee ili menee, no gde-to bolshe usiliy predprinimayutsya dlya borby s etim | ||||||
|  |         - no bolshinstvo etih norm i pravil "napisano kroviyu" i po opytu, a ne vzyaty otkuda-to iz golovy | ||||||
|  | 
 | ||||||
|  |     Na samom dele, eto problema duhovnaya i asketicheskaya | ||||||
|  |         - eto te samye melochi, iz kotoryh duhovnaya zhizn i sostoit (da i voobsche govoryat, chto zhizn iz melochey sostoit) | ||||||
|  |         - esli hochesh proverit rasseyannost/intensivnost duhovnogo vnimaniya, to proveryay v te momenty, kogda avto-pilot vklyuchaetsya | ||||||
|  |         - esli rasseyan, kogda nogi v tapochki suyosh, to - rasseyan | ||||||
|  |         - (kogda molitva - to v normalnom sluchae vnimanie vsegda budet v slovah molitvy) | ||||||
|  |         - a eto (na skolko vnimanie mozhet sfokusirovatsya na tom ili inom objecte) | ||||||
|  |         - i opredelyaet kachestvo nashih intentsiy facticheski | ||||||
|  |         - eto - elementarno prostye veschi ne trebuet kakih-to sverhusiliy, postov, bdeniy i prochih veschey | ||||||
|  |         - eto takaya nudnaya povsednevnaya asketicheskaya rabota, kotoroy naverno ne ochen interesno zanimatsya | ||||||
|  | |||||||
| @ -7,6 +7,18 @@ EssenceOfTime | |||||||
| https://www.youtube.com/playlist?list=PLEl8Q3ptvwJ8NHrSYg2so-hh9wZmToxD- | https://www.youtube.com/playlist?list=PLEl8Q3ptvwJ8NHrSYg2so-hh9wZmToxD- | ||||||
| 
 | 
 | ||||||
| 2024 | 2024 | ||||||
|  | Metametrics - Kurginyan - About KGB and KPSS of 1:30:10 | ||||||
|  |     https://www.youtube.com/watch?v=pJ-uPk8eZvk | ||||||
|  |     ! Kozhev - big  | ||||||
|  |     ! Kozhev - teocracy, autocracy, vlast sudii - demomcracy i vlast gospodina nad rabom | ||||||
|  |     !   gospodin - tot, kto pokazal rabu, chto ne boitsya smerti | ||||||
|  |     !   v ispanii - zhenihi smerti (a takzhe - vagnerovtsy) | ||||||
|  |     !   no eto i sut gnostiki: pnevmatiki, psihiki, fiziki, ... flegmatiki | ||||||
|  |     !   snachala zhenihi razbirayutsya s rabami smerti (te, kto hochet zhit tiho-tiho i begaet smerti - eto pozdnesovetskiy potrebitel) | ||||||
|  |     !   i nepravda, chto eto - raby udovolstviya, eto te, kto bezhit v nih ot smerti | ||||||
|  |     ! Otto/... Shtrasser - zhertva hitlerovskogo reszhima (49-y) | ||||||
|  |     ! Himler - hnostical internacional | ||||||
|  |     ! RU - snachala lyubov, potom - podvig | ||||||
| SoSay - Kurginyan - About Death Civilization of 1:35:37 | SoSay - Kurginyan - About Death Civilization of 1:35:37 | ||||||
|     https://www.youtube.com/watch?v=VDkUGVGKr9E |     https://www.youtube.com/watch?v=VDkUGVGKr9E | ||||||
| AlexandrVorontsov - Right to Know - Kulikov - Kurginyan 04.27 of 1:19:03 | AlexandrVorontsov - Right to Know - Kulikov - Kurginyan 04.27 of 1:19:03 | ||||||
|  | |||||||
| @ -1,3 +1,5 @@ | |||||||
| 2024 | 2024 | ||||||
|  | Plafon - How to Start Understand Linux of 21:09 | ||||||
|  |     https://www.youtube.com/watch?v=LNB1G3K9qK4 | ||||||
| TheLinuxExperiment - Big things are coming to Linux in 2024, but don't expect too much... of 17:16 | TheLinuxExperiment - Big things are coming to Linux in 2024, but don't expect too much... of 17:16 | ||||||
|     https://www.youtube.com/watch?v=msiKpFV8HNY |     https://www.youtube.com/watch?v=msiKpFV8HNY | ||||||
|  | |||||||
| @ -137,3 +137,23 @@ enabled_metadata=1 | |||||||
| flatpak | flatpak | ||||||
| sudo dnf install flatpak | sudo dnf install flatpak | ||||||
| flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | ||||||
|  | 
 | ||||||
|  | docker | ||||||
|  | https://docs.docker.com/engine/install/fedora/ | ||||||
|  |     sudo dnf -y install dnf-plugins-core | ||||||
|  |     sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo | ||||||
|  |     sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | ||||||
|  |     sudo systemctl start docker | ||||||
|  | 
 | ||||||
|  | docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied. | ||||||
|  | 
 | ||||||
|  | https://www.baeldung.com/linux/docker-permission-denied-daemon-socket-error | ||||||
|  | https://www.digitalocean.com/community/questions/how-to-fix-docker-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket | ||||||
|  |     sudo groupadd docker | ||||||
|  |     sudo usermod -aG docker ${USER} | ||||||
|  |     grep docker /etc/group | ||||||
|  |     ??? | ||||||
|  |     sudo chmod 666 /var/run/docker.sock | ||||||
|  | 
 | ||||||
|  |     sudo systemctl enable docker.service | ||||||
|  |     sudo systemctl enable containerd.service | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| https://blog.predanie.ru/article/vysota-kotoroj-dostigaet-chelovek-eto-on-li-sam/ | https://blog.predanie.ru/article/vysota-kotoroj-dostigaet-chelovek-eto-on-li-sam/ | ||||||
| Sorokin - Vtorozakonie - Ch 22-3                    1:10:00 of 1:33:17 | Sorokin - Vtorozakonie - Ch 22-3                    1:15:00 of 1:33:17 | ||||||
|     https://predanie.ru/sorokin-vladimir-vladimirovich/seminary-po-vtorozakoniyu/slushat/ |     https://predanie.ru/sorokin-vladimir-vladimirovich/seminary-po-vtorozakoniyu/slushat/ | ||||||
|     https://predanie.ru/sorokin-vladimir-vladimirovich/chtenie-tory-na-drevneevreyskom-yazyke/slushat/ |     https://predanie.ru/sorokin-vladimir-vladimirovich/chtenie-tory-na-drevneevreyskom-yazyke/slushat/ | ||||||
| Plaschevskiy - ZOZH                                 - 41:00 of 1:36:31 | Plaschevskiy - ZOZH                                 - 41:00 of 1:36:31 | ||||||
|  | |||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Ihar Hancharenka
						Ihar Hancharenka