Какие базы данных нужны для выбора правильного ответа для выполнения расчетов на компьютере
Обновлено: 21.11.2024
Последние два года продемонстрировали жизненно важную роль аналитики, и даже несмотря на ослабление некоторых ограничений, связанных с COVID-19, многие организации сейчас .
Организации внедряют модель совместной аналитики, чтобы задействовать весь потенциал своих сотрудников и увеличить объем данных.
Обновление платформы поставщика подчеркивает его внимание к приложениям как способу расширения аналитики для большего числа бизнес-пользователей.
Считаете, что готовы к сертификационному экзамену AWS Certified Solutions Architect? Проверьте свои знания, ответив на эти 12 вопросов и.
Amazon заявила, что ее система мониторинга микроавтобусов предназначена исключительно для обеспечения безопасности водителей. Но многие отраслевые эксперты обеспокоены этим.
Amazon хотела бы укрепить свое глобальное присутствие, но гигант электронной коммерции сегодня сталкивается с препятствиями и проблемами, которых у него не было.
Генеральный директор Sitecore Стив Цикакис вступил во владение во время пандемии — на фоне стремительного роста — и переосмыслил компанию как цифровую.
Организации, планирующие миграцию контента, должны проверить целостность файлов и убедиться, что файлы не были повреждены при перемещении. Файл .
Успешное развертывание ECM требует планирования. Менеджеры контента должны учитывать жизненный цикл контента своей организации, безопасность .
Oracle планирует приобрести Cerner в рамках сделки на сумму около 30 млрд долларов. Второй по величине поставщик электронных медицинских карт в США может вдохнуть новую жизнь .
Верховный суд постановил 6-2, что API-интерфейсы Java, используемые в телефонах Android, не подпадают под действие американского закона об авторском праве.
В этом руководстве рассматриваются возможности Oracle Autonomous Database для пользователей Oracle и вопросы, которые следует учитывать организациям.
Поскольку настройки имеют долгосрочные последствия, организации, использующие SAP ECC в качестве основной ERP-системы, должны предоставить .
Многие компании могут извлечь выгоду из возможностей аналитики, а организации, использующие SAP ECC, по-прежнему могут создавать эффективные .
Внедрение S/4HANA сопряжено со значительным риском, но также предлагает реальную возможность цифровой трансформации. Вот .
Хороший дизайн базы данных необходим для удовлетворения потребностей обработки в системах SQL Server. На вебинаре консультант Коэн Вербек предложил .
Базы данных SQL Server можно переместить в облако Azure несколькими способами. Вот что вы получите от каждого из вариантов .
В отрывке из этой книги вы познакомитесь с методами LEFT OUTER JOIN и RIGHT OUTER JOIN и найдете различные примеры создания SQL.
Microsoft Access и Microsoft Excel имеют много общего, что может затруднить выбор программы, которую следует использовать. Например, обе программы могут хранить большие объемы данных, выполнять мощные запросы и инструменты анализа для нарезки этих данных, а также выполнять сложные вычисления, которые возвращают нужные данные.
Однако каждая программа имеет явные преимущества в зависимости от типа данных, которыми вы управляете, и от того, что вы хотите делать с этими данными. Например, если вы хотите сохранить целостность данных в формате, доступном нескольким пользователям, лучше всего подойдет Access, тогда как Excel лучше подходит для сложных числовых данных, которые вы хотите подробно проанализировать.
Во многих случаях вы можете использовать обе программы, применяя каждую для той цели, для которой она лучше всего подходит. В целом, Access лучше подходит для управления данными: он помогает вам упорядочивать их, упрощает поиск и предоставляет доступ нескольким пользователям одновременно. Excel, как правило, лучше подходит для анализа данных: выполнения сложных расчетов, изучения возможных результатов и создания высококачественных диаграмм. Если вы используете Access для хранения данных и Excel для их анализа, вы можете воспользоваться преимуществами обеих программ.
Прежде чем вы решите, какую программу использовать, вы можете сравнить преимущества каждой программы, узнать, когда лучше использовать ту или другую, и узнать, как работать с обеими программами, чтобы достичь именно тех результатов, которые вы хотите. хочу.
Примечание. Все пакеты Microsoft Office включают Excel, но не все пакеты включают Access.
Сравните преимущества каждой программы
Выбор правильной программы имеет решающее значение, если вы хотите получать доступ к своей информации и обновлять ее с максимальной производительностью и точностью. Чтобы выяснить, какая программа лучше всего подходит для задач, которые вы хотите выполнить, может помочь сравнить преимущества, которые каждая программа может предложить в отношении хранения данных, анализа данных, совместной работы нескольких пользователей и безопасности.
Плоские или реляционные данные Чтобы помочь решить, какая программа лучше всего подходит для хранения ваших данных, задайте себе следующий вопрос: являются ли данные реляционными или нет? Данные, которые могут эффективно содержаться в одной таблице или листе, называются плоскими или нереляционными данными. Например, если вы хотите создать простой список клиентов, содержащий только один адрес и контактное лицо для каждого клиента, Excel может быть лучшим выбором.Однако если вы хотите хранить более сложный список клиентов, содержащий платежные адреса и адреса доставки для каждого клиента, или несколько контактных лиц для каждого клиента, лучшим решением будет Access.
В реляционной базе данных вы упорядочиваете свою информацию в несколько таблиц. В хорошо спроектированной реляционной базе данных каждая таблица является плоской и содержит информацию только об одном типе данных. Например, если вы создаете базу данных клиентов, имена клиентов должны храниться в одной таблице, тогда как адреса выставления счетов и доставки этих клиентов должны храниться в отдельной таблице. Хранение адресов отдельно от имен – хорошая идея, поскольку у каждого клиента может быть более одного адреса, и вы хотите иметь возможность вводить несколько адресов для каждого клиента без повторного ввода имени клиента для каждого адреса.
Локальные и внешние данные Вы можете использовать Access для подключения к данным из различных внешних источников данных, чтобы просматривать, запрашивать и редактировать эти данные без необходимости их импорта. Например, Access предоставляет команды для подключения к существующим данным в базе данных Microsoft SQL Server, файлу dBASE или папке Outlook, а также ко многим другим источникам данных. Вы можете использовать Excel для подключения к широкому спектру источников данных, включая базы данных Access, SQL Server и Analysis Services, текстовые и XML-файлы, а также источники данных ODBC и OLE DB. Однако вы не можете редактировать данные, чтобы изменить исходные данные через пользовательский интерфейс Excel.
И Access, и Excel предоставляют команды для подключения к данным в списках Windows SharePoint Services. Однако Excel обеспечивает подключение к спискам SharePoint только для чтения; тогда как Access позволяет читать и записывать данные в списки SharePoint.
Целостность данных или гибкость Уникальные идентификаторы помогают сохранить целостность ваших данных и гарантируют, что никакие две строки (или записи) не будут содержать абсолютно одинаковые данные. Уникальные идентификаторы также обеспечивают самый быстрый способ извлечения данных при поиске или сортировке данных. В Access вы можете использовать тип данных AutoNumber для автоматического создания уникального идентификатора для каждой записи. Затем вы можете использовать эти идентификаторы, чтобы связать записи в одной таблице с одной или несколькими записями в другой таблице.
Структура, которую Access применяет к вашим данным, помогает обеспечить целостность данных. Доступ может потребовать, чтобы новые записи в одной таблице имели существующее соответствующее значение в другой таблице, чтобы вы не могли создавать «бесхозные» записи. Например, вы не хотели бы иметь заказ, который не включает информацию о клиенте. Для доступа может потребоваться, чтобы каждая новая запись в таблице «Заказы» имела соответствующее значение клиента в таблице «Клиенты». Это обязательное соответствие значений называется ссылочной целостностью.
Вы также можете наложить свои собственные ограничения и правила, чтобы убедиться, что данные вводятся правильно. Excel позволяет вводить данные в более свободной форме, но поскольку Excel не поддерживает реляционные данные, он не может поддерживать ссылочную целостность. Однако вы можете использовать команду проверки данных для управления вводом данных в Excel.
Запросы Если вам часто приходится просматривать данные различными способами в зависимости от изменяющихся условий или событий, Access может оказаться лучшим выбором для хранения данных и работы с ними. Access позволяет использовать запросы на языке структурированных запросов (SQL) для быстрого извлечения только нужных строк и столбцов данных, независимо от того, содержатся ли данные в одной таблице или во многих таблицах. Вы также можете использовать выражения в запросах для создания вычисляемых полей. Использование выражения в Access похоже на процесс использования формул в Excel для вычисления значений. Вы также можете использовать запросы Access для суммирования данных и представления агрегированных значений, таких как суммы, средние значения и количество.
Моделирование В Excel можно использовать инструменты анализа "что, если" для прогнозирования результатов модели рабочего листа. Анализ «что, если» позволяет вам запускать различные сценарии с вашими данными, такие как сценарии наилучшего и наихудшего случая, и сравнивать полученные данные нескольких сценариев в сводном отчете. В Access нет аналогичной функции.
Сводка и диаграммы В обеих программах можно создавать отчеты сводных таблиц и диаграммы сводных таблиц. Однако Excel предоставляет более продвинутые функции создания отчетов и диаграмм сводных таблиц, чем Access. Если вы планируете регулярно создавать обширные отчеты сводных таблиц или профессионально выглядящие диаграммы, вам следует использовать отчеты сводных таблиц или диаграммы сводных таблиц в Excel вместо тех же функций в Access.
И Access, и Excel можно использовать в средах для совместной работы, таких как Windows SharePoint Services и общие сетевые файловые ресурсы, но существуют различия в способах доступа к данным для нескольких пользователей.
Доступ нескольких пользователей к данным. При нормальной работе Access позволяет нескольким пользователям одновременно открывать одну базу данных; это хорошо работает, потому что Access блокирует только те данные, которые редактируются; в результате другие пользователи могут редактировать разные записи без конфликтов.В Excel вы можете поделиться книгой с другими пользователями, но многопользовательская совместная работа лучше всего работает, когда пользователи работают с данными в этой книге в разное время, а не одновременно. По сути, пользователи базы данных Access совместно работают над набором данных, а пользователи книги Excel совместно работают над документом.
Использование Windows SharePoint Services для совместной работы. Обе программы интегрируются с технологиями Microsoft Windows SharePoint Services, такими как списки SharePoint и библиотеки документов.
Access предоставляет различные способы совместной работы с несколькими пользователями на сайте SharePoint. Например, вы можете загрузить полную базу данных в библиотеку документов Windows SharePoint Services, сделать формы и отчеты доступными в виде представлений Windows SharePoint Services и связать базу данных с данными, хранящимися в списках SharePoint.
Excel предоставляет только один способ совместной работы с несколькими пользователями на сайте SharePoint Services. Вы можете отправить книгу в библиотеки документов Windows SharePoint Services, где отдельные пользователи могут извлекать книгу для внесения изменений, предотвращая одновременное изменение книги другими пользователями. Пользователи могут редактировать книгу, не извлекая ее из библиотеки документов, и в этом случае они должны координировать свои действия с другими пользователями, чтобы избежать конфликтов данных.
Использование сетевых папок для совместной работы Если вы храните базу данных Access в общей сетевой папке, несколько пользователей могут одновременно открывать базу данных и работать с ее данными. Отдельные записи блокируются, когда пользователь редактирует их. Если вы храните книгу Excel в общей сетевой папке, только один пользователь может одновременно редактировать книгу. В целях просмотра несколько пользователей могут открывать книгу, пока другой пользователь редактирует ее, но эти пользователи не могут вносить какие-либо изменения в данные, пока пользователь, редактирующий книгу, не закроет ее.
Обе программы предоставляют схожие функции — пароли и шифрование — которые могут помочь вам предотвратить потерю данных и защитить ваши данные от несанкционированного доступа. Однако между Access и Excel есть некоторые различия в том, как работает защита данных на уровне пользователя.
Предотвращение потери данных. В Access ваша работа постоянно сохраняется, так что в случае неожиданного сбоя вы вряд ли потеряете большую часть работы (если она вообще есть). Однако, поскольку Access постоянно сохраняет вашу работу, вы также можете вносить изменения, которые позже решите, что не хотите их фиксировать. Чтобы убедиться, что вы можете восстановить свою базу данных так, как вы хотите, вы должны создать резервную копию файла базы данных по расписанию, которое соответствует вашим потребностям. Вы можете восстановить всю базу данных из резервной копии, или вы можете восстановить только таблицу или другой объект базы данных, который вам нужен. Если вы используете утилиту резервного копирования файловой системы, вы также можете использовать копию базы данных из резервной копии файловой системы для восстановления данных. В Excel вы можете сохранять данные автовосстановления через заданные промежутки времени при обновлении данных.
Защита данных на уровне пользователя В Excel вы можете удалить важные или личные данные из поля зрения, скрыв столбцы и строки данных, а затем защитить весь лист, чтобы контролировать доступ пользователей к скрытым данным. Помимо защиты рабочего листа и его элементов, вы также можете блокировать и разблокировать ячейки на листе, чтобы предотвратить непреднамеренное изменение важных данных другими пользователями.
Безопасность на уровне файлов На уровне файлов вы можете использовать шифрование в обеих программах, чтобы предотвратить просмотр данных неавторизованными пользователями. Вы также можете потребовать ввода пароля для открытия файла базы данных или рабочей книги. Кроме того, вы можете защитить файл базы данных или книгу, используя цифровую подпись.
Ограниченный доступ к данным. В Excel можно указать разрешения для пользователей на доступ к данным или установить права только для чтения, чтобы другие пользователи не могли вносить изменения в данные, к которым у них есть доступ. Access не предоставляет функции безопасности на уровне пользователя, но Access поддерживает модель безопасности пользователя для любого сервера базы данных, к которому он подключается. Например, если вы ссылаетесь на список SharePoint, Access учитывает разрешения пользователя для списка SharePoint. Если вы хотите, чтобы неавторизованные пользователи не имели доступа к вашим данным Access, вы можете зашифровать свою базу данных, установив пароль. Пользователи должны вводить пароль для чтения данных из базы данных, даже если они обращаются к ней с помощью другой программы, например Excel.
Когда использовать Access
В самых общих чертах Access — лучший выбор, когда вам нужно регулярно отслеживать и записывать данные, а затем отображать, экспортировать или печатать подмножества этих данных. Формы доступа предоставляют более удобный интерфейс, чем рабочий лист Excel для работы с вашими данными. Вы можете использовать Access для автоматизации часто выполняемых действий, а отчеты Access позволяют суммировать данные в печатной или электронной форме. Access обеспечивает дополнительную структуру ваших данных; например, вы можете контролировать, какие типы данных можно вводить, какие значения можно вводить, и вы можете указать, как данные в одной таблице связаны с данными в других таблицах.Эта структура помогает гарантировать ввод только правильных типов данных.
Access хранит данные в таблицах, которые очень похожи на рабочие листы, но таблицы Access предназначены для сложных запросов к данным, хранящимся в других таблицах.
Используйте Access, когда вы:
Предполагается, что с базой данных работает много людей, и вам нужны надежные варианты, которые безопасно обрабатывают обновления ваших данных, такие как блокировка записей и разрешение конфликтов.
Предусмотрите необходимость добавления дополнительных таблиц в набор данных, созданный как плоская или нереляционная таблица.
Хотите выполнять сложные запросы.
Хотите создавать различные отчеты или почтовые ярлыки.
Управление контактами Вы можете управлять своими контактами и почтовыми адресами, а затем создавать отчеты в Access или объединять данные с Microsoft Office Word для печати стандартных писем, конвертов или почтовых наклеек.
Инвентаризация и отслеживание активов Вы можете создать инвентаризацию предметов в вашем доме или офисе и хранить фотографии или другие связанные документы вместе с данными.
Отслеживание заказов. Вы можете вводить информацию о продуктах, клиентах и заказах, а затем создавать отчеты, показывающие продажи по сотрудникам, регионам, периодам времени или другим значениям.
Отслеживание задач. Вы можете отслеживать задачи для группы людей и вводить новые задачи в то время, когда другие обновляют свои существующие задачи в той же базе данных.
Организация библиотек выдачи Вы можете использовать Access для хранения данных о своих книгах и компакт-дисках, а также отслеживать, кому вы их давали.
Планирование мероприятий. Вы можете ввести информацию о датах, местах и участниках мероприятий, а затем распечатать расписания или сводки о мероприятиях.
Отслеживание питания Следите за рецептами, записывайте диету и физические упражнения.
Когда использовать Excel
Excel как программа для работы с электронными таблицами может хранить большие объемы данных в книгах, содержащих один или несколько листов. Однако вместо того, чтобы служить системой управления базами данных, такой как Access, Excel оптимизирован для анализа и расчета данных. Вы можете использовать эту гибкую программу для создания моделей для анализа данных, написания простых и сложных формул для выполнения вычислений на основе этих данных, поворота данных любым удобным для вас способом и представления данных в различных профессионально выглядящих диаграммах.
Используйте Excel, когда вы:
Требуется плоское или нереляционное представление ваших данных вместо реляционной базы данных, которая использует несколько таблиц, и когда ваши данные в основном числовые.
Часто выполняйте расчеты и статистические сравнения ваших данных.
Хотите использовать отчеты сводной таблицы для просмотра иерархических данных в компактном и гибком формате.
Планируете регулярно создавать диаграммы и хотите использовать новые форматы диаграмм, доступные в Excel.
Хотите выделить данные с помощью значков условного форматирования, гистограмм и цветовых шкал.
Хотите выполнять сложные операции анализа "что, если" с вашими данными, такие как статистический, инженерный и регрессионный анализ.
Хотите отслеживать элементы в простом списке либо для личного использования, либо для ограниченного сотрудничества.
Бухгалтерский учет Вы можете использовать мощные вычислительные функции Excel во многих финансовых бухгалтерских отчетах, например в отчете о движении денежных средств, отчете о прибылях и убытках или отчете о прибылях и убытках.
Бюджетирование Независимо от того, связаны ли ваши потребности с личными или деловыми потребностями, вы можете создать в Excel бюджет любого типа, например план маркетингового бюджета, бюджет мероприятий или пенсионный бюджет.
Выставление счетов и продажи Excel также полезен для управления данными выставления счетов и продаж, и вы можете легко создавать нужные формы, например счета-фактуры, упаковочные листы или заказы на покупку.
Отчетность. В Excel можно создавать различные типы отчетов, которые отражают анализ ваших данных или обобщают их, например, отчеты, измеряющие эффективность проекта, прогнозирующие данные, сводные данные или представляющие данные об отклонениях.
Планирование Excel – отличный инструмент для создания профессиональных планов или полезных планировщиков, например еженедельного плана занятий, плана маркетинговых исследований, налогового плана на конец года или планировщиков, помогающих планировать питание, вечеринки или отпуск на неделю. .
Отслеживание. Вы можете использовать Excel для отслеживания данных в табеле учета рабочего времени или списке — например, табеле учета рабочего времени или инвентарном списке, в котором отслеживается оборудование.
Использование календарей Из-за того, что Excel представляет собой сетку, его удобно использовать для создания календарей любого типа — например, академического календаря для отслеживания деятельности в течение учебного года или календаря на финансовый год для отслеживания деловых мероприятий и вехи.
Полезные шаблоны Excel в любой из этих категорий см. в разделе Шаблоны для Excel в Microsoft Office Online.
Совместное использование Access и Excel
Возможно, вам захочется воспользоваться преимуществами обеих программ.Например, вы создали рабочий лист в Excel, в котором вы можете вычислять и анализировать данные, но рабочий лист стал слишком большим и сложным, и многие другие пользователи должны иметь доступ к данным. На этом этапе вы можете импортировать или связать свой рабочий лист в Access и использовать его в качестве базы данных, а не работать с ним в Excel. Или, возможно, у вас есть данные в базе данных Access, для которых вы хотите создать подробные отчеты в виде сводных таблиц Excel и профессионально выглядящие диаграммы Excel.
Независимо от того, какую программу вы используете в первую очередь, вы всегда можете перенести данные из одной программы в другую, где вы сможете продолжить работу с ними. С подключением к данным или без него вы можете переносить данные в Access из Excel (и наоборот), копируя, импортируя или экспортируя их.
Дополнительные сведения об обмене данными между обеими программами см. в статье Перенос данных из Excel в Access.
"Я просто выберу X, это БД, которую я знаю и с которой работал".
Большинство разработчиков и студентов используют это утверждение, когда дело доходит до выбора базы данных для проект. Работа с базой данных, с которой вы уже знакомы, прекрасно подходит, если производительность не является важным требованием для вашей системы, но рассмотрим ситуацию, когда ваше приложение растет и через пару лет оно начинает сталкиваться с некоторыми проблемами. Устранение проблемы станет головной болью для разработчиков и администраторов. Неважно, работаете вы над проектом с нуля или уже работаете над зрелым проектом, важно знать ограничения базы данных и определить, когда добавить в проект другой тип БД.
На рынке доступно более 300 систем управления базами данных, и выбор одной из них может оказаться сложной задачей для разработчиков. У вас есть множество вариантов, доступных в реляционных (MySQL, PostgreSQL, Oracle DB и т. д.) и нереляционных (MongoDB, Apache HBase, Cassandra и т. д.) базах данных, но вы должны понимать, что ни один из них не подходит для всех видов требований проектов. Каждый из них имеет некоторые сильные и слабые стороны. Давайте рассмотрим пример, иллюстрирующий, как правильно выбрать базу данных для своего приложения.
Выбор правильной базы данных
Как вы принимаете это решение при разработке архитектуры данной системы?.
- Какой объем данных вы планируете хранить, когда приложение станет зрелым?
- Сколько пользователей вы планируете обслуживать одновременно при пиковой нагрузке?
- Какая доступность, масштабируемость, задержка, пропускная способность и согласованность данных необходимы вашему приложению?
- Как часто будут меняться схемы вашей базы данных?
- Каково географическое распределение ваших пользователей?
- Какова естественная «форма» ваших данных?
- Требуется ли вашему приложению онлайн-обработка транзакций (OLTP), аналитические запросы (OLAP) или и то, и другое?
- Какое соотношение операций чтения и записи вы ожидаете в рабочей среде?
- Какие языки программирования вы предпочитаете?
- Есть ли у вас бюджет? Если да, будет ли это распространяться на лицензии и контракты на поддержку?
- Насколько строго вы относитесь к отправке неверных данных в базу данных? (В идеале вы должны быть очень строгими и выполнять проверку данных на стороне сервера, прежде чем сохранять их в своей базе данных)
Теперь давайте поговорим о некоторых ключевых аспектах, которые ответят на поставленные выше вопросы и помогут вам выбрать правильную базу данных для вашего приложения...
1. Интеграция
Самое важное, что следует учитывать при выборе правильной базы данных, — какую систему вам нужно интегрировать вместе? Убедитесь, что ваша система управления базами данных может быть интегрирована с другими инструментами и службами вашего проекта. Разные технологии имеют разные разъемы для разных других технологий. Например, если у вас есть большая аналитическая работа, в которой в настоящее время выполняется искра Apache, возможно, вы захотите ограничиться внешними базами данных, которые могут легко подключаться к искре apache. Теперь предположим, что у вас есть внешняя система, которая на самом деле зависит от наличия SQL-интерфейса к серверной части, и вы думаете о переходе от монолитной базы данных к нереляционной базе данных. Это будет хорошим выбором только в том случае, если нереляционная база данных, которую вы перемещаете, предлагает какой-то интерфейс, подобный SQL, который можно легко перенести из вашего внешнего приложения. Поэтому подумайте о частях, которые должны взаимодействовать друг с другом в вашей системе, и посмотрите, могут ли они на самом деле взаимодействовать или нет с существующими готовыми компонентами, и действительно ли эти компоненты хорошо обслуживаются и обновляются.
Другим примером является ArangoDB, которая имеет отличную производительность, но библиотеки для этой СУБД еще молоды и не имеют поддержки.Использование ArangoDB в сочетании с другими инструментами может быть рискованным, поэтому сообщество рекомендует избегать ArangoDB для сложных проектов.
2. Требования к масштабированию
Перед установкой рабочей базы данных важно знать требования к масштабированию. О каком объеме данных вы действительно говорите? Действительно ли он будет неограниченно расти со временем? если это так, то вам нужна какая-то технология базы данных, которая не ограничивается данными, которые вы можете хранить на одном ПК. Вам нужно взглянуть на что-то вроде Cassandra, MongoDB или HBase, где вы можете фактически распределить хранилище ваших данных по всему кластеру и масштабировать его горизонтально, а не вертикально. Многие базы данных не могут обрабатывать тысячи пользователей, запрашивающих терабайты или петабайты данных, из-за проблем с масштабированием.
При выборе базы данных вам также необходимо подумать о скорости транзакций или пропускной способности, что означает, сколько запросов вы собираетесь получать в секунду. Базы данных с высокой пропускной способностью могут одновременно поддерживать множество пользователей. Если речь идет о тысячах, то опять же с одной базой данных не получится. Это особенно важно, когда вы работаете с большими веб-сайтами, где у нас есть много веб-серверов, которые одновременно обслуживают множество людей. Вам придется выбрать базу данных, которая распределена и позволяет более равномерно распределить нагрузку этих транзакций. В таких случаях базы данных NoSQL являются хорошим выбором вместо СУБД.
3. Поддержите рассмотрение
Подумайте о поддержке, которая может понадобиться для вашей базы данных. Есть ли у вас собственный опыт, чтобы раскрутить эту новую технологию и правильно ее настроить? Это будет сложнее, чем вы думаете, особенно если вы используете это в реальном мире или где-либо еще. ситуации, когда у вас есть личная информация от ваших конечных пользователей. В этом случае вам нужно убедиться, что вы думаете о безопасности вашей системы. Правда в том, что для большинства баз данных NoSQL, о которых мы говорили, если вы настроите их с настройками по умолчанию, безопасность вообще не будет обеспечена. Кто угодно может подключиться к этим вещам, получить данные и записать в них данные. Поэтому убедитесь, что у вас есть кто-то, кто знает, что он делает, чтобы настроить это безопасным образом. Если вы работаете в крупной организации, в которой есть эти специалисты, это прекрасно, но если вы работаете в небольшой организации, вам, возможно, придется выбрать технологию, которая предлагает профессиональную платную поддержку, которая поможет вам принять первоначальные решения по настройке на начальном этапе. администрирование вашего сервера с течением времени. Вы также можете привлечь администраторов для поддержки. Более корпоративное решение, такое как MongoDB, имеет платную поддержку, и если мы говорим о проектах Apache, то есть некоторые компании, которые предлагают платную профессиональную поддержку.
4. Рассмотрение CAP
CAP означает непротиворечивость, доступность и устойчивость к разделам. Теорема утверждает, что вы не можете достичь всех свойств на лучшем уровне в одной базе данных, так как между элементами существуют естественные компромиссы. Вы можете выбрать только два из трех одновременно, и это полностью зависит от вашего приоритета в соответствии с вашими требованиями. Например, если ваша система должна быть доступна и устойчива к разделам, вы должны быть готовы допустить некоторую задержку в своих требованиях к согласованности.
Традиционные реляционные базы данных естественным образом подходят для стороны CA, тогда как механизмы нереляционных баз данных в основном удовлетворяют требованиям AP и CP.
- Непротиворечивость означает, что любой запрос на чтение будет возвращать самую последнюю запись. Непротиворечивость данных обычно является «строгой» для баз данных SQL, а согласованность базы данных NoSQL может быть любой от «возможной» до «сильной».
- Доступность означает, что неотвечающий узел должен ответить в разумные сроки. Не каждое приложение должно работать круглосуточно и без выходных с доступностью 99,999 %, но, скорее всего, вы предпочтете базу данных с более высокой доступностью.
- Допуск к разделению означает, что система будет продолжать работать, несмотря на сбои сети или узла.
Тип приложения будет определять, что вы хотите, и только вы знаете фактические требования. Действительно ли нормально, если ваша система выйдет из строя на несколько секунд или несколько минут, если нет, то доступность должна быть вашей главной заботой? Если вы имеете дело с чем-то, что содержит реальную информацию о транзакциях, например, с биржевой или финансовой операцией, вы можете ценить согласованность превыше всего. Попробуйте выбрать технологию, которая лучше всего подходит для компромиссов, которые вы хотите сделать.
5. Схемы или модель данных
Реляционные базы данных хранят данные в фиксированной и предопределенной структуре. Это означает, что когда вы начнете разработку, вам нужно будет определить схему данных с точки зрения таблиц и столбцов.Вы должны менять схему каждый раз, когда меняются требования. Это приведет к созданию новых столбцов, определению новых отношений, отражению изменений в вашем приложении, обсуждению с администраторами базы данных и т. д.
Базы данных NoSQL обеспечивают гораздо большую гибкость при обработке данных. Нет необходимости указывать схему для начала работы с приложением. Кроме того, база данных NoSQL не накладывает ограничений на типы данных, которые вы можете хранить вместе. Это позволяет вам добавлять больше новых типов по мере изменения ваших потребностей. В процессе создания приложений большинство разработчиков предпочитают высокую скорость написания кода и большую гибкость. Базы данных NoSQL оказались гораздо лучшим выбором в этом отношении, особенно для гибкой разработки, которая требует быстрой реализации.
Вам действительно нужно позаботиться обо всех 5 упомянутых пунктах, но, прежде всего, самый важный совет — делать все просто. Не выбирайте базу данных только потому, что она блестящая и модная на рынке. Если вам не нужно настраивать очень сложный кластер NoSQL или что-то, что требует большого обслуживания, например MongoDB или HBase, где у вас есть все эти внешние серверы, которые поддерживают конфигурацию, не делайте этого, если вам это не нужно. Подумайте о минимальных требованиях, которые вам нужны для вашей системы. Если вам не нужно иметь дело с массовым масштабированием, то нет необходимости использовать базу данных NoSQL, вы можете выбрать MySQL, и где-то это будет хорошо. Нет смысла развертывать совершенно новую систему, если в вашей организации нет достаточного опыта, если только вам это действительно не нужно. Простые технологии и простые архитектуры будет намного проще поддерживать. В конце концов, вы не будете счастливы, когда проснетесь утром в 3:00, потому что какой-то случайный сервер отключился в этой чрезмерно сложной системе баз данных, которую вы настроили без уважительных причин. Поэтому делайте все максимально простым.
Поскольку объем данных типичной компании растет в геометрической прогрессии, оптимизация хранения данных становится еще более важной. Размер ваших данных влияет не только на размер и стоимость хранилища, но и на производительность запросов. Ключевым фактором в определении размера ваших данных является выбранный вами тип данных. В этом руководстве объясняется, как выбрать правильные типы данных.
Что такое типы данных?
Типы данных определяют, какой тип и диапазон данных могут храниться в заданном поле (или столбце).
Рассмотрите таблицу продаж со следующими образцами записей:
Каждое поле имеет свой тип и диапазон значений:
purchase_time: дата и время продажи. sale_id: целочисленные значения, увеличивающиеся на единицу для каждой новой продажи. customer_id: целочисленные значения, увеличивающиеся на единицу для каждого нового клиента. валюта: текст всегда в трехзначном коде валюты. между $0,00 и $1000,00 устройство: текст, где значения могут быть: «рабочий стол», «мобильное приложение» и «мобильный Интернет» has_discount: логическое значение, где записи могут быть ИСТИНА или ЛОЖЬ примечания: текст, где запись может быть что разрешено в нашем инструменте ввода агента (250 символов)
Тип данных (целые числа, текст, действительные числа и т. д.) и возможные диапазоны значений (от 0 до 1 000; любые 3 символа и т. д.) соответствуют конкретным типам данных базы данных.
Какие возможны типы данных?
В разных базах данных доступны разные типы данных, но большинство из них подпадают под следующие категории:
Числовой:
- целые числа: для чисел без дробей. Может быть со знаком (разрешены положительные и отрицательные значения) или без знака (разрешены только положительные числа). Обычно используется для полей идентификаторов и количества чего-либо.
- decimal(x,y): для чисел с дробями, требующими точной точности. Может быть со знаком (разрешены положительные и отрицательные значения) или без знака (разрешены только положительные числа). Обычно используется для денежных полей. Пользователь указывает допустимое количество значащих цифр в целом (x) и после запятой (y) в круглых скобках.
- float / double: для чисел с дробями, не требующих точной точности. Может быть со знаком (разрешены положительные и отрицательные значения) или без знака (разрешены только положительные числа). Обычно используется для всех действительных чисел, кроме денежных полей.
Дата/время:
дата: для значений даты
- время: для значений времени
- timestamp / datetime: для значений даты и времени
Текст:
- character(n): для строк символов фиксированной длины, где значение в скобках определяет фиксированный размер каждой записи
- varchar(n): для строк символов переменной длины, где значение в скобках определяет максимально допустимый размер каждой записи
Логическое значение:
- boolean: для логических значений (true/false).Некоторые базы данных (например, MySQL) не имеют логического типа данных и вместо этого преобразуют логические значения в целые числа (1 = ИСТИНА, 0 = ЛОЖЬ)
Большинство баз данных предлагают варианты размеров для каждого типа. Например, MySQL предоставляет следующие возможные целочисленные типы данных:
Как выбрать правильные типы данных
Основная стратегия выбора наилучшего типа данных состоит в том, чтобы выбрать наименьший тип данных, который соответствует типу данных, которые у вас есть, и допускает все возможные значения ваших данных.
Например, customer_id в нашем образце таблицы продаж — это целое число, начинающееся с 0. Сегодня у нашей вымышленной компании всего 15 000 клиентов. Используя таблицу целочисленных типов данных MySQL из предыдущего раздела, у нас может возникнуть соблазн выбрать SMALLINT unsigned в качестве типа данных, поскольку это наименьший тип данных, который будет принимать наши текущие целочисленные значения от 0 до 15 000. Тем не менее, мы ожидаем получить 100 000 клиентов в течение следующих 6-12 месяцев. Когда мы превысим 65 535, SMALLINT перестанет быть достаточным. Таким образом, лучшим выбором будет СРЕДНИЙ без знака, которого хватит на следующие несколько лет.
Вы можете позволить своей базе данных выбирать за вас типы данных при создании таблицы с образцами записей. Однако это редко дает вам лучший выбор типа данных. Например, предоставление MySQL возможности выбирать типы данных для таблицы продаж с примерными значениями, показанными ранее, приводит к нескольким проблемам.
- неправильный тип данных: вы не сможете использовать поле так, как ожидали. Например, наличие в поле Purchase_time строки, а не типа данных time означает, что вы не сможете выполнять операции со временем (например, вычислять, сколько времени прошло с момента покупки) в поле.
- слишком ограничен: MySQL будет выдавать ошибки, когда вы пытаетесь ввести значения, которые превышают допустимый тип данных. Например, мы получим ошибки, если у нас есть продажа с amount_paid 100 долл. США или более или агент_комментарий длиннее 65 символов.
- слишком консервативен: хотя слишком консервативный подход к типам данных ничего не сломает, вы будете тратить место для хранения впустую. Используя данные из нашего примера, мы могли бы сэкономить 15 % места в хранилище, выбрав менее консервативные предпочтительные варианты.
Какими бы интеллектуальными ни были современные базы данных, владельцы данных по-прежнему лучше всех знают, какие данные хранятся и какие возможные значения они могут принимать в обозримом будущем. Поэтому вам необходимо тщательно указать типы данных для каждого из ваших полей.
Заключение
Чтобы ваша база данных функционировала правильно и была максимально оптимизирована, важно тщательно выбирать типы данных для каждого поля в ваших таблицах.
Приложения для работы с электронными таблицами обычно используются для управления данными об окружающей среде. Эти программы являются полезными организационными инструментами, но имеют ограничения по сравнению с реальной базой данных. Так почему же так много компаний до сих пор используют электронные таблицы?
Одна из основных причин — «В чем разница?» Электронные таблицы проще для понимания и более знакомы большинству людей, чем базы данных. Но, как скажет вам любой плотник, правильный инструмент для работы имеет решающее значение для успеха. Хотя между электронной таблицей и базой данных есть сходство, электронная таблица не является базой данных. Эти два отдельных программных инструмента дополняют друг друга и часто используются в тандеме. Часто информация, хранящаяся в базе данных, экспортируется в электронную таблицу, чтобы обеспечить упорядоченное форматированное представление или выполнить дополнительные вычисления.
Что такое база данных и чем она отличается от электронной таблицы?
По сути, база данных – это компьютерная программа, предназначенная для хранения, обработки и извлечения информации. Базы данных используют таблицы как средство хранения и извлечения информации. Таблицы организованы как столбцы (поля) и строки (записи). Эта табличная структура похожа на электронные таблицы, но, в отличие от электронных таблиц, большинство баз данных являются реляционными, а это означает, что данные между таблицами могут быть связаны и иметь перекрестные ссылки.
В реляционной базе данных данные в таблице могут быть связаны в соответствии с общими ключами или понятиями. Отношения представляют собой логическую связь между различными таблицами и устанавливаются на основе взаимодействия между этими таблицами. Можно установить четко определенные отношения (правила) между таблицами базы данных, чтобы наложить ограничения на данные.Таблицы взаимодействуют и обмениваются информацией, что облегчает поиск данных, их организацию и отчетность.
Обычно в электронной таблице информация форматируется. Поэтому добавление новых данных может быть утомительным. Поскольку таблицы базы данных хранят необработанные данные без форматирования, ввод данных упрощается. Многие базы данных имеют формы или пользовательские интерфейсы, предназначенные для облегчения ввода и редактирования данных. Механизмы для простого извлечения данных также обычно доступны пользователю базы данных. Данные можно сортировать по любому полю и создавать отчеты, содержащие только определенные поля из каждой записи без изменения исходных данных. Отчеты о данных применяют форматирование после извлечения данных из базы данных.
Почему база данных, а не электронная таблица?
Назначение данных
Какие данные собираются? Электронные таблицы отлично подходят для числовых и текстовых значений в относительно небольшом объеме. Базы данных также умело обрабатывают числовые и текстовые значения, но могут легко включать и другие типы информации, такие как изображения и документы. Базы данных также могут поддерживать загрузку больших объемов данных и файлов большого размера, например с регистраторов данных, устройств GPS, камер, дронов и других устройств для сбора данных.
Объем данных
Какой объем данных собирается? Для долгосрочных проектов с многочисленными точками мониторинга можно создать миллионы точек данных. Поскольку базы данных хранят информацию более эффективно, базы данных могут обрабатывать такие объемы информации, которые не поддаются обработке в электронной таблице. Электронные таблицы имеют ограничения на количество записей, а базы данных — нет. По сравнению с базами данных электронным таблицам может потребоваться много места на жестком диске для хранения данных. Когда в электронной таблице много полей или большое количество данных (тысячи строк), ее может быть трудно читать. Поиск конкретных данных может быть обременительным. В реляционных базах данных для решения этих проблем используются инструменты запросов.
Редактирование
Может ли информация изменяться? Обновление баз данных обычно проще, чем электронных таблиц, особенно если одна и та же информация хранится в нескольких записях или нескольких электронных таблицах. Например, если данные мониторинга окружающей среды для проектных площадок хранятся в виде серии электронных таблиц и нормативные стандарты перечислены на каждом листе, то изменение нормативных стандартов требует внесения изменений во все электронные таблицы. Принимая во внимание, что в базе данных нормативные стандарты будут обновляться в одной таблице и будут доступны для любых запросов отчетов связанных данных. Кроме того, база данных может массово обновлять записи.
Доступность данных и скорость
Несмотря на то, что данные в электронных таблицах можно сортировать и фильтровать, база данных имеет широкие функции запросов, которые могут извлекать все записи, соответствующие критериям выбора, создавать перекрестные ссылки на записи в нескольких таблицах и выполнять сложные агрегированные вычисления по нескольким таблицам. Таким образом, базы данных обеспечивают гибкость сортировки и представления данных множеством способов, которые почти невозможно сделать с помощью двумерных электронных таблиц. Многие базы данных также предоставляют средства для автоматизации создания запросов и отчетов с помощью хранимых процедур.
Данные в отдельных таблицах нелегко сравнивать и анализировать. Решения, основанные на этих разрозненных наборах информации, могут быть ошибочными. Когда данные хранятся в централизованной реляционной базе данных, данные легко доступны для запросов, анализа и составления отчетов. Поскольку база данных будет применять одни и те же стандарты качества для любого набора данных, решения можно принимать с уверенностью.
Базы данных предназначены для обращения к информации без загрузки всей информации в память, в отличие от электронных таблиц. Поэтому базы данных работают быстрее, чем электронные таблицы, при обработке больших наборов данных. А электронные таблицы имеют ограничения по памяти.
Целостность данных
Целостность данных — ключевое различие между базами данных и электронными таблицами. Реляционные базы данных следуют стандартизированным правилам целостности, чтобы гарантировать точность и доступность содержащихся в них данных. Поля базы данных могут быть ограничены определенными типами данных, форматами и/или длинами. Ссылочная целостность — это совокупный набор правил, который обеспечивает непротиворечивость и достоверность данных в базе данных, включая использование первичных ключей и установление отношений между таблицами данных. Использование допустимых или справочных значений может дополнительно ограничить данные и предотвратить ошибки при вводе данных.
Избыточность
Структура базы данных также позволяет избежать избыточности данных. Поскольку данные в разных таблицах базы данных связаны между собой, исходные данные практически не дублируются.Часто данные в электронных таблицах копируются несколько раз, и одни и те же данные хранятся в отдельных файлах электронных таблиц, что создает кошмар для обеспечения точных данных, когда требуется изменение. База данных также может устранить проблемы, связанные с наличием множества электронных таблиц, содержащих схожие данные, и созданием множества копий электронных таблиц для контроля версий.
Распространение ошибок
Предотвратить и эффективно выявить ошибки данных в электронных таблицах непросто.
Также гораздо проще случайно перезаписать или удалить данные в электронной таблице, чем в базе данных. Чем больше и сложнее электронная таблица, тем выше вероятность того, что данные могут быть случайно изменены, а связи нарушены.
Доступ пользователей и безопасность
В отличие от электронных таблиц, современные реляционные базы данных предназначены для нескольких пользователей. В случаях, когда требуется, чтобы многие пользователи обменивались информацией, добавляли новые данные и/или вносили изменения в данные, электронная таблица — плохой выбор. Базы данных идеально подходят для обмена информацией и совместной работы. Поскольку несколько человек могут одновременно получать доступ к базе данных и обновлять ее, база данных становится более эффективной, а вероятность ошибок снижается.
Базы данных обеспечивают централизованное хранение данных и более высокий уровень безопасности. Разрешения пользователей могут быть назначены для просмотра данных, редактирования данных и ограничения доступа к привилегированной информации.
Обзор
Электронная таблица не является базой данных. Понимание этих различий между электронными таблицами и базами данных позволяет принимать обоснованные решения по управлению данными и их обработке.
Читайте также: