👍8✍2🔥1
Три наблюдения о командной строке и путях в файловой системе
Наблюдение № 1
Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux.
Наблюдение № 2
Второе наблюдение связано с именованием каталогов в Linux. Имя subfolder может означать как файл, так и каталог. Несмотря на то, что в Linux почти все сущности являются файлами, различия иногда бывают важны. Допустим, требуется создать копию файла file1.txt в подкаталоге subfolder.
Наблюдение № 3
Третье наблюдение касается «особых каталогов». Все знают, что родительский каталог обозначается двумя точками: «..». Многим известно, что одной точкой «.» обозначается текущий каталог. Но если на каталоги верхнего уровня приходится ссылаться регулярно, то польза от ссылки на текущий каталог не столь очевидна: он ведь и так должен подразумеваться по умолчанию.
Теоретически должен, но на практике не всегда так происходит. Например, в текущем каталоге лежит файл moria.deb, который надо установить.
https://habr.com/ru/articles/784846/
👉 @i_odmin
Наблюдение № 1
Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux.
Наблюдение № 2
Второе наблюдение связано с именованием каталогов в Linux. Имя subfolder может означать как файл, так и каталог. Несмотря на то, что в Linux почти все сущности являются файлами, различия иногда бывают важны. Допустим, требуется создать копию файла file1.txt в подкаталоге subfolder.
Наблюдение № 3
Третье наблюдение касается «особых каталогов». Все знают, что родительский каталог обозначается двумя точками: «..». Многим известно, что одной точкой «.» обозначается текущий каталог. Но если на каталоги верхнего уровня приходится ссылаться регулярно, то польза от ссылки на текущий каталог не столь очевидна: он ведь и так должен подразумеваться по умолчанию.
Теоретически должен, но на практике не всегда так происходит. Например, в текущем каталоге лежит файл moria.deb, который надо установить.
https://habr.com/ru/articles/784846/
👉 @i_odmin
Хабр
Три наблюдения о командной строке и путях в файловой системе
Наблюдение № 1 Первое наблюдение будет как раз о шаблонах, но не мышления, а о шаблонах имён файлов и различиях в их трактовке командными интерпретаторами DOS/Windows и Unix/Linux. Допустим, в дереве...
👍3❤1
MAC адрес
MAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
👉 @i_odmin
1бит 1бит 22 бита 24 бита
------------------------------
|I/G |U/L | OUI | OUA |
------------------------------
<-- 46 бит UAA -->MAC - адрес уникальная комбинация цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования, который, присваивается сетевой карте устройства в момент производства.
I/G - (Individual - 0 / Group - 1) тип адреса. Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры.
U/L - (Universal - 0 / Local - 1) - определяет, как был присвоен адрес. Обычно - 0, Единица означает, что адрес задан не производителем, а админом локальной сети (перепрошит или назначен через драйвер устройства)
OUI - (Organizationally Unique Identifier) Идентификатор производителя. Назначается организацией IEEE.
OUA - (Organizationally Unique Address) Уникальный адрес карты для данного производителя.
UAA - Универсально управляемый адрес.
👉 @i_odmin
👍16
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
telnet
nmap
Доступность udp-порта
netcat
nc
nmap
👉 @i_odmin
Доступность tcp-порта
netcat
netcat [options] host portсканер портов:
netcat -z -v domain.com 1-1000запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
nc -vt <ip> <port>telnet
telnet <ip> <port>nmap
порт 25 tcp: nmap -p25 11.11.11.11Доступность udp-порта
netcat
netcat -u host portnc
nc -vu <ip> <port>nmap
доступность порта udp 53: nmap -sU -p U:53 11.1.11.12👉 @i_odmin
👍13
На замемтку ☝️
Так я экономлю более 1000 долларов в месяц на вычислениях, хранении и пропускной способности для своих проектов, связанных с искусственным интеллектом: всего 52 ядра CPU, 104 ГБ RAM, 3 ТБ NVMe, неограниченный вход/выход и менее 100 Вт энергопотребления.
На более высоком кластере работают серверы API, созданные с помощью библиотеки Transformer.js и фреймворка сервисов NATS. На более низком кластере работает сервер базы данных Postgres (с потоковой репликацией) и некоторые сервисы, такие как pgpool, prometheus и т. д.
Нет ни DNS-сервера, ни проброса портов, ни балансировщиков нагрузки.
👉 @i_odmin
Так я экономлю более 1000 долларов в месяц на вычислениях, хранении и пропускной способности для своих проектов, связанных с искусственным интеллектом: всего 52 ядра CPU, 104 ГБ RAM, 3 ТБ NVMe, неограниченный вход/выход и менее 100 Вт энергопотребления.
На более высоком кластере работают серверы API, созданные с помощью библиотеки Transformer.js и фреймворка сервисов NATS. На более низком кластере работает сервер базы данных Postgres (с потоковой репликацией) и некоторые сервисы, такие как pgpool, prometheus и т. д.
Нет ни DNS-сервера, ни проброса портов, ни балансировщиков нагрузки.
👉 @i_odmin
👍26🤔5🔥1
Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp
На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.
В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.
Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).
Если у вас ещё нет личного прокси для обхода цензуры — это знак.
https://habr.com/ru/articles/785186/
👉 @i_odmin
На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.
В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.
Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).
Если у вас ещё нет личного прокси для обхода цензуры — это знак.
https://habr.com/ru/articles/785186/
👉 @i_odmin
👍20❤2
Forwarded from Мир технологий и науки (Technology World)
This media is not supported in your browser
VIEW IN TELEGRAM
Clip Mouse - компьютерная мышь, не имеющая аналогов.
Портативная и легкая мышь для использования на любой поверхности.
Мышь для Mac и PC, которой нет равных. Clip Mouse предлагает новый дизайн и функциональность, сохраняя при этом все возможности обычной мыши. Она была разработана в первую очередь как замена Magic Mouse и призвана перенести все функции и возможности Apple Magic Mouse в совершенно новую, еще более легкую, минималистичную и компактную форму. Clip Mouse - идеальный компаньон для работы и путешествий.
Проект на kickstarter
👉 @mir_teh
Портативная и легкая мышь для использования на любой поверхности.
Мышь для Mac и PC, которой нет равных. Clip Mouse предлагает новый дизайн и функциональность, сохраняя при этом все возможности обычной мыши. Она была разработана в первую очередь как замена Magic Mouse и призвана перенести все функции и возможности Apple Magic Mouse в совершенно новую, еще более легкую, минималистичную и компактную форму. Clip Mouse - идеальный компаньон для работы и путешествий.
Проект на kickstarter
👉 @mir_teh
👍10🥴4
Примеры типовых операций в bash-скриптах
Арифметические действия, циклы по кол-ву раз
Разного рода проверки
Работа с FTP
Работа с telnet
Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Пример цикла по множеству значений
Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
👉 @i_odmin
Арифметические действия, циклы по кол-ву раз
#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"
# пример цикла по i
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echoРазного рода проверки
#!/bin/bash
# пример проверки существования файла
# создаем файл test1
touch test1
# проверяем существование файла test1
if [ -f test1 ] ; then
echo "файл test1 существует"
fi
# проверяем несуществование файла test2
if ! [ -f test2 ] ; then
echo "файл test2 не существует"
fi
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2Работа с FTP
#!/bin/bash
ADDRESS=192.168.1.150
USER=root
PASSWORD=root
ftp -n -p ADDRESS <<EoF
user USER PASSWORD
cd /usr/bin
put my_cool_program
quit
EoF
exit 0Работа с telnet
#!/bin/bash
(
sleep 1
echo "root"
echo "cd /tmp"
echo "ls"
sleep 1
echo "quit"
) | telnet 192.168.1.150Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Пример цикла по множеству значений
#!/bin/bash
# пример цикла по множеству значений
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
echoНе забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
👉 @i_odmin
👍18
Как защитить сервер Linux
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
Шаги
1 - Создайте группу:
2 - Добавьте учетную запись(и) в группу:
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
👉 @i_odmin
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
cat /etc/group | grep "sudo"Шаги
1 - Создайте группу:
sudo groupadd sudousers2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL👉 @i_odmin
👍21❤1
Media is too big
VIEW IN TELEGRAM
Что такое systemd? Управление демонами linux c помощью systemctl
В этом видео я расскажу что такое systemd, обзор небольшой. Управление сервисами и демонами.
В видео вы узнаете:
где хранится systemd unit
какие бывают юниты
как посмотреть статус сервиса
как добавить сервис в автозагрузку
как запустить/остановить сервис
как запретить запускать сервис
А также мини man systemctl:
systemctl is-enabled
systemctl list-units -t тип --all
systemctl status
systemctl start
systemctl stop
systemctl restart
systemctl reload
systemctl enable
systemctl disable
systemctl mask
systemctl unmask
источник
👉 @i_odmin
В этом видео я расскажу что такое systemd, обзор небольшой. Управление сервисами и демонами.
В видео вы узнаете:
где хранится systemd unit
какие бывают юниты
как посмотреть статус сервиса
как добавить сервис в автозагрузку
как запустить/остановить сервис
как запретить запускать сервис
А также мини man systemctl:
systemctl is-enabled
systemctl list-units -t тип --all
systemctl status
systemctl start
systemctl stop
systemctl restart
systemctl reload
systemctl enable
systemctl disable
systemctl mask
systemctl unmask
источник
👉 @i_odmin
👍10🤡3👎1
Какая разница между командами GREP, AWK и SED
Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.
Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.
Например, все эти три команды могут легко проверить совпадения шаблона файла и отправить результаты запроса на вывод.
В этой статье является разберемся чем отличаются эти команды и в каких случаях использовать ту или иную команду.
https://telegra.ph/Kakaya-raznica-mezhdu-komandami-GREP-AWK-i-SED-01-23
👉 @i_odmin
Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.
Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.
Например, все эти три команды могут легко проверить совпадения шаблона файла и отправить результаты запроса на вывод.
В этой статье является разберемся чем отличаются эти команды и в каких случаях использовать ту или иную команду.
https://telegra.ph/Kakaya-raznica-mezhdu-komandami-GREP-AWK-i-SED-01-23
👉 @i_odmin
👍9👎1
Awesome Linux Software
Список приложений, программного обеспечения, инструментов и других материалов для разных дистрибутивов Linux.
https://github.com/luong-komorebi/Awesome-Linux-Software
👉 @i_odmin
Список приложений, программного обеспечения, инструментов и других материалов для разных дистрибутивов Linux.
https://github.com/luong-komorebi/Awesome-Linux-Software
👉 @i_odmin
👍5
Media is too big
VIEW IN TELEGRAM
Как быстро добавить пользователей в группы AD [скрипт]
Пример скрипта
источник
👉 @i_odmin
Пример скрипта
$ErrorActionPreference='Continue'
$error.Clear()
$i=0
import-module activedirectory
$pathToCSV='.\users.csv'
$csv=Import-Csv -path $pathToCSV -Delimiter ';'
foreach ($group in $csv)
{
$uname="$($group.Username)".split('\')[1]
$groupname="$($group.Groupname)"
Add-ADGroupMember -Identity $groupname -Members $uname
$i++
}
if ($error.Count -gt 0)
{
echo "Errors count: " $error.Count
}
$success=$($i-$error.Count)
if ($success -gt -1)
{
echo "Success records count: " $success
}
источник
👉 @i_odmin
👍14❤2
👍10
Media is too big
VIEW IN TELEGRAM
Защита от подбора пароля на устройствах MikroTik
Если у вас есть маршрутизатор MikroTik с белым IP-адресом и открытым стандартным портом SSH, вероятно, вы заметили, что журнал заполнен неудачными попытками входа в систему. В большинстве случаев это происходит из-за неумолимых попыток брутфорса SSH со стороны злоумышленников. Сегодня я расскажу вам, как можно защитить себя от подобных атак на устройствах MikroTik. Мы создадим что-то аналогичное fail2ban.
источник
👉 @i_odmin
Если у вас есть маршрутизатор MikroTik с белым IP-адресом и открытым стандартным портом SSH, вероятно, вы заметили, что журнал заполнен неудачными попытками входа в систему. В большинстве случаев это происходит из-за неумолимых попыток брутфорса SSH со стороны злоумышленников. Сегодня я расскажу вам, как можно защитить себя от подобных атак на устройствах MikroTik. Мы создадим что-то аналогичное fail2ban.
источник
👉 @i_odmin
👍18👎1
Forwarded from Типичный Сисадмин
This media is not supported in your browser
VIEW IN TELEGRAM
😁35🤣11👍3🔥1🤡1
Подборка скриптов PowerShell для работы с Azure, Active Directory, SCCM, SCSM, Exchange, O365 и тд
Примеры скриптов
Блокировка компьютера
Новый пароль
https://github.com/lazywinadmin/PowerShell
👉 @i_odmin
Примеры скриптов
Блокировка компьютера
Function Lock-Computer {
<#
.DESCRIPTION
Function to Lock your computer
.SYNOPSIS
Function to Lock your computer.
This is using the win32 user32.dll library.
.EXAMPLE
Lock-Computer
This will lock the current computer
.LINK
https://github.com/lazywinadmin/PowerShell
#>
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockComputer = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockComputer::LockWorkStation() | Out-Null
}
Новый пароль
function New-Password {
<#
.SYNOPSIS
Function to Generate a new password.
.DESCRIPTION
Function to Generate a new password.
By default it will generate a 12 characters length password, you can change this using the parameter Length.
I excluded the following characters: ",',.,/,1,<,>,`,O,0,l,|
Some of those are ambiguous characters like 1 or l or |
You can add exclusion by checking the following ASCII Table http://www.asciitable.com/
If the length requested is less or equal to 4, it will generate a random password.
If the length requested is greater than 4, it will make sure the password contains an Upper and Lower case letter, a Number and a special character
.PARAMETER Length
Specifies the length of the password.
Default is 12 characters
.PARAMETER Count
Specifies how many password you want to output.
Default is 1 password.
.EXAMPLE
PS C:\> New-Password -Length 30
=E)(72&:f\W6:VRGE(,t1x6sZi-346
.EXAMPLE
PS C:\> New-Password 3
!}R
.NOTES
See ASCII Table http://www.asciitable.com/
Code based on a blog post of https://mjolinor.wordpress.com/2014/01/31/random-password-generator/
.LINK
https://github.com/lazywinadmin/PowerShell
#>
[CmdletBinding()]
PARAM
(
[ValidateNotNull()]
[int]$Length = 12,
[ValidateRange(1, 256)]
[Int]$Count = 1
)#PARAM
BEGIN {
# Create ScriptBlock with the ASCII Char Codes
$PasswordCharCodes = { 33..126 }.invoke()
# Exclude some ASCII Char Codes from the ScriptBlock
# Excluded characters are ",',.,/,1,<,>,`,O,0,l,|
# See http://www.asciitable.com/ for mapping
34, 39, 46, 47, 49, 60, 62, 96, 48, 79, 108, 124 | ForEach-Object -Process { [void]$PasswordCharCodes.Remove($_) }
$PasswordChars = [char[]]$PasswordCharCodes
}#BEGIN
PROCESS {
1..$count | ForEach-Object -Process {
# Password of 4 characters or longer
IF ($Length -gt 4) {
DO {
# Generate a Password of the length requested
$NewPassWord = $(foreach ($i in 1..$length) { Get-Random -InputObject $PassWordChars }) -join ''
}#Do
UNTIL (
# Make sure it contains an Upercase and Lowercase letter, a number and another special character
($NewPassword -cmatch '[A-Z]') -and
($NewPassWord -cmatch '[a-z]') -and
($NewPassWord -imatch '[0-9]') -and
($NewPassWord -imatch '[^A-Z0-9]')
)#Until
}#IF
# Password Smaller than 4 characters
ELSE {
$NewPassWord = $(foreach ($i in 1..$length) { Get-Random -InputObject $PassWordChars }) -join ''
}#ELSE
# Output a new password
Write-Output $NewPassword
}
} #PROCESS
END {
# Cleanup
Remove-Variable -Name NewPassWord -ErrorAction 'SilentlyContinue'
} #END
} #Function
https://github.com/lazywinadmin/PowerShell
👉 @i_odmin
👍17
Forwarded from Базы данных (Data Base)
Облачные базы данных: Шпаргалка
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
#db
👉 @database_info
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
#db
👉 @database_info
👍8🔥2❤1