Category: Базы данных

12
Июл
2021

Интенсив ASP.NET Core Fundamentals

.NET-разработчик и тренер Microsoft проведёт 11 онлайн-сессий по работе с платформой ASP.NET Core и научит создавать современные кроссплатформенные приложения.
— Читать дальше «Интенсив ASP.NET Core Fundamentals»

10
Июн
2021

Конференция SECON 2021

В программе конференции доклады от экспертов, общение с коллегами, новые знакомства, выставка и развлечения в атмосфере летнего фестиваля.
— Читать дальше «Конференция SECON 2021»

04
Июн
2021

Курс «Профессия Data Scientist» с трудоустройством

За 2 года освоите профессию Data Science: научитесь программировать на Python и R, применять алгоритмы машинного обучения и визуализировать данные.
— Читать дальше «Курс «Профессия Data Scientist» с трудоустройством»

31
Май
2021

Курс «Backend-разработка на Node.js»

За 4 месяца станете fullstack-разработчиком, будете создавать бэкенд веб-приложений на Node.js и расширите возможности ваших проектов на JavaScript с помощью языка TypeScript.
— Читать дальше «Курс «Backend-разработка на Node.js»»

26
Май
2021

Курс «Fullstack-разработчик на JavaScript»

За полтора года с нуля научитесь программировать на JavaScript и TypeScript и освоите передовые технологии — React, Node.js, Docker, Express.js, Nest.js, Firebase, MongoDB.
— Читать дальше «Курс «Fullstack-разработчик на JavaScript»»

12
Май
2021

Java. Backend-практикум

Бесплатный онлайн-курс для начинающих Java-разработчиков. За 8 недель получите систематизированную базу знаний и создадите свой проект для портфолио.
— Читать дальше «Java. Backend-практикум»

06
Май
2021

Конференция Highload++ 2021

Большая конференция для разработчиков высоконагруженных систем. Доклады, митапы, нетворкинг, уникальный опыт и ноу-хау от экспертов, задающих тренды.
— Читать дальше «Конференция Highload++ 2021»

28
Апр
2021

Установка пробной версии Microsoft Access в 2021 году бесплатно

Для учебных целей нам потребовалась установка пробной бесплатной версии Microsoft Access, но в реальности это оказалось нетривиальной задачей. К сожалению, ссылку на установку персональной или семейной версии найти не удалось, поэтому нужно ставить При…

14
Апр
2021

Курс «PHP + MySQL за 1,5 месяца»

12 занятий, практика на каждом уроке, сертификат об окончании курса и возможность попасть в команду BrainForce. Старт в любой день.
— Читать дальше «Курс «PHP + MySQL за 1,5 месяца»»

25
Мар
2021

Менеджер баз данных DBeaver

В этой статье поговорим об инструменте, который нужен всем, кто работает с базами данных: программистам, сисадминам, аналитикам и т.д. Это универсальный менеджер баз данных DBeaver, который поддерживает более 80 баз данных. Преимущества DBeaver Менедже…

10
Мар
2021

Факультет игровой аналитики

Научитесь создавать игры, используя знания маркетинга, гейм-дизайна и статистики. Курс подойдёт начинающим аналитикам, гейм-дизайнерам и даже простым геймерам, которые хотят превратить хобби в работу мечты.
— Читать дальше «Факультет игровой аналитики»…

10
Мар
2021

Курс «Профессия DevOps-инженер PRO» с трудоустройством

Освоите DevOps-практики и научитесь применять Docker и GitLab, чтобы оптимизировать и автоматизировать тестирование, доставку кода и запуск приложений на серверах.
— Читать дальше «Курс «Профессия DevOps-инженер PRO» с трудоустройством»

05
Фев
2021

Курс «Профессия разработчик на C++ с нуля»

Научитесь программировать на легендарном языке, создавать сложные микросервисы и игры для движка Unreal Engine. Соберёте портфолио и сможете начать карьеру в разработке приложений, «железа» или игр, даже если никогда раньше не писали код.
— Читать даль…

31
Дек
2020

📊 ТОП-10 необходимых для специалиста по Big Data навыков

Рассказываем о необходимом наборе технических и карьерных навыков для специалиста по Big Data.

О работе специалистов по анализу больших данных и необходимых для освоения перспективной профессии ресурсах мы уже писали. В этой статье речь пойдет о самых необходимых специалисту по Big Data навыках.

Big Data – это термин, используемый для обозначения значительного объема как структурированных, так и неструктурированных данных, который слишком велик для обработки традиционными методами. Аналитик больших данных – это специалист, который выявляет и исследует закономерности в данных с помощью специальных программных средств. Большие данные – перспективное направление в сфере Data Science. По мере того, как компании внедряют соответствующие методы, владеющие ими сотрудники будут становиться все более востребованными.

<a href="https://www.valtira.com/wp-content/uploads/2020/01/analytics.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Большие данные применяются в бизнесе, социальных сетях, медицине, транспортных организациях и т.д. Почти все стратегические решения высшего уровня бизнеса принимаются на основе технологий Big Data и Data Science. Они дают пользователям представление о тенденциях и событиях, которые в противном случае было бы трудно или невозможно обнаружить. Компании во многих отраслях уделяют все большее внимание сбору, хранению и анализу этих данных, а также тому, как использовать их для получения новых возможностей и продвижения. В этой области постоянно появляются новые должностные роли, но чтобы получить работу, нужно обладать определенными способностями и освоить соответствующие методики.

, <a href="https://www.valtira.com/wp-content/uploads/2020/01/analytics.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
, Источник

Аналитические навыки

Аналитические способности и навыки одни из самых важных для работы с большими данными. Без них нельзя стать экспертом в данной области. Аналитические инструменты необходимы для решения проблем в бизнесе или других сферах, а для глубокого понимания их возможностей необходимо обладать как математическими знаниями, так и методами количественного анализа данных, вроде описательной статистики и статистики умозаключений. Это помогает инженерам Big Data курировать большое количество неструктурированных данных, обобщать их и находить закономерности для прогнозного анализа

Достижения в области технологий за последние пять лет вывели интеллектуальный анализ на ошеломляющие высоты. Профессионалы с релевантным опытом пользуются большим спросом во всех технологических сферах. Получить его можно, изучая инструменты, вроде RapidMiner, KNIME или Apache Mahout.

Машинное обучение и искусственный интеллект

Расширяющиеся пробелы в цифровых навыках означают, что организации по всему миру находятся в бесконечной гонке за профессионалами в области больших данных с навыками машинного обучения и искусственного интеллекта. Нейронные сети, обучение с подкреплением, состязательное обучение, деревья решений, логистическая регрессия, контролируемое машинное обучение список можно продолжать и продолжать. Чем больше вы можете предложить, тем более ценным активом будете для любого прогрессивного, ориентированного на технологии работодателя.

Машинное обучение является важным инструментом для инженеров, поскольку оно позволяет им сортировать и обрабатывать большие объемы данных за короткий промежуток времени. Кроме того, Big Data являются частью построения алгоритмов машинного обучения. Специалист должен быть с ним знаком: требуется знать, как писать алгоритмы и как использовать их.

<a href="https://www.bsebti.com/blog/wp-content/uploads/2020/08/expert-talk-data-science-data-analytics-machine-learning.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Бизнес-аналитика

Методы Big Data применяются в различных отраслях для принятия решений и оптимизации деятельности. Многие компании используют инсайты из массивных наборов данных, которые они получают с помощью специальных инструментов. Чтобы лучше понять задачи и цели анализа, специалисту необходимо развивать соответствующие навыки и познакомиться с предметной областью. Прежде чем начинать разработку модели и делать выводы, аналитик данных должен понимать все аспекты и бизнес-цели организации. Эксперт должен иметь представление о процессах бизнес-потока, а также иметь знания в области статистики, навыки презентации и коммуникации.

Интерпретация и визуализация данных

Для специалиста по Big Data способность визуализировать и интерпретировать данные являются одними из ключевых навыков для успешной карьеры. Визуализация самый простой способ понять любую техническую концепцию. Здесь требуется не только понимание статистики и математики, но и наличие изобретательности, воображения и естественного любопытства.

Данные должны быть четко и ясно представлены для передачи в понятном для широкой публике формате. Важно, чтобы вы хорошо понимали бизнес-среду и предметную область, а также умели четко донести идею до аудитории. Придется развивать навыки коммуникации и презентации. Можно начать с изучения визуализации данных с помощью специальных инструментов и программного обеспечения: Tableau, Data Wrapper, Plotly и т. д.

Навыки программирования

Чтобы стать специалистом по большим данным, необходимо знать основы алгоритмов, структур данных, а также объектно-ориентированных языков программирования. Профессионал должен уметь проводить количественный и статистический анализ. Необходимо изучить основные понятия кодирования и уметь исправлять ошибки в существующем коде, который является частью массивной базы данных. Основные языки, в которые стоит инвестировать свое время включают Python, SQL, Java и C++. Нет никакой необходимости изучать все существующие языки, но если вы не ограничите себя только одним, это значительно повысит шансы на трудоустройство и карьерный рост. Например, знание статистических языков, таких как R и Python, даст кандидату преимущества в области аналитики.

Навыки решения проблем

Способность быстро решать проблемы и творческий подход играют важную роль в области больших данных, которые и сами по себе являются проблемой из-за неструктурированной природы. Независимо от того, являетесь ли вы от природы одаренным аналитиком или нет, потребуется постоянная практика, чтобы отточить этот навык. Существует бесчисленное множество способов это сделать, включая решение головоломок, игру в шахматы или даже некоторые видеоигры.


Базы данных SQL и NoSQL

Базы данных это ядро хранения, организации и поиска информации, поэтому важно знать их структуру и язык. Существует два основных типа баз данных:

  1. Хранящие информацию в виде записей в таблицах и позволяющие использовать для доступа к ней структурированный язык запросов (SQL). SQL формирует основу движения больших данных и занимает центральное место в хранилищах Hadoop Scala.
  1. Подход NoSQL (от англ. not only SQL) становится все более популярным, поэтому специалисты по Big Data должны быть знакомы и с ним. Распределенные базы данных NoSQL, вроде MongoDB, быстро заменяют сболее традиционные аналоги SQL, включая DB2 и Oracle. Зачастую они обеспечивают более эффективные возможности хранения и доступа. Серверы NoSQL работают в полной гармонии с Hadoop, а наличие навыков работы с ними существенно повысит ваши шансы на трудоустройство.

Знакомство с технологиями

Профессионалы в области больших данных должны быть знакомы с целым рядом технологий и инструментов, помогающих проводить анализ и делать выводы. Всегда лучше работать с максимально широким технологическим стеком: Scala, Hadoop, Linux, MatLab, R, SAS, SQL, Excel, SPSS и т.д. Это существенно повысит ваши шансы на трудоустройство и быстрый карьерный рост.

Фреймворки, вроде Hadoop и Apache Spark помогают в потоковой передаче моделей больших данных, а различные компоненты Apache Hadoop (MapReduce, HIVE, HDFS и Pig) пользуются большим спросом у специалистов и работодателей.

Навыки работы с публичными и гибридными облаками

В большинстве проектов используется облако, настроенное для хранения и обеспечения высокой доступности данных. Организации предпочитают такие хранилища созданию собственной инфраструктуры из-за меньших затрат. Многие имеют гибридную облачную реализацию.

Некоторые из общедоступных облаков, которые нужно знать: Amazon Web Services (AWS), Microsoft Azure, Alibaba Cloud. К внутренним облачным технологиям относятся OpenStack, Vagrant, Openshift, Docker, Kubernetes и др.

Практические навыки

Начинающий специалист по большим данным перед трудоустройством на хорошую должность должен получить практический опыт и изучить необходимые инструменты. Поскольку технологии меняется быстро, прохождение некоторых курсов может помочь в оперативном усвоении необходимых навыков.

***

Если вы только начинаете свой путь в профессии, хотите получить диплом и помощь в трудоустройстве, обратите внимание на курс Факультета Аналитики Big Data онлайн-университета GeekBrains. Помимо основ математики, языка Python и систем управления базами данных, в программу включена работа с Apache Hadoop и Apache Spark. Обучение ориентировано на применение навыков машинного обучения в бизнесе и построено по принципу практической работы над проектами с ведущими специалистами отрасли и личным помощником-куратором. Успешно окончившие курс студенты получат диплом о профессиональной подготовке и помощь в трудоустройстве.

17
Ноя
2020

Конференция HighLoad++ 2020

Темы выступлений — все аспекты разработки и поддержки высоконагруженных систем. Спикеры расскажут про архитектуры и разные методологии.
— Читать дальше «Конференция HighLoad++ 2020»

13
Ноя
2020

☕ ☁️ 👍 Начало работы с IntelliJ IDEA и распределенным SQL

Всерьез задумались о переносе инфраструктуры в облако? Тогда этот материал придется вам кстати. Попробуем разбираться, что это такое и с чем его едят.

Перевод публикуется с сокращениями, автор оригинальной статьи Jimmy
Guerrero.

IntelliJ IDEA – это интегрированная написанная на Java среда разработки (IDE). Создана она компанией JetBrains
и доступна как лицензионное издание сообщества Apache 2, а также в проприетарном
коммерческом формате. Поскольку YugabyteDB совместим с PostgreSQL, большинство
сторонних инструментов и приложений будут работать “из коробки”.

В этом материале вы узнаете как:

  • установить кластер YugabyteDB на движке Google Kubernetes;
  • установить БД Northwind;
  • настроить IntelliJ для работы с YugabyteDB;
  • протестировать некоторые основные функции БД IntelliJ с помощью YugabyteDB.

Что такое распределенный SQL?

Распределенные базы данных SQL пользуются популярностью среди
организаций, заинтересованных в переносе инфраструктуры данных в облако. Это
часто затевается ради уменьшения TCO (Total Cost of Ownership) или избавления
от ограничений горизонтального масштабирования СУБД: Oracle, PostgreSQL, MySQL
и Microsoft SQL Server. Основные характеристики распределенного SQL:

  • Наличие SQL API для запросов и моделирования данных, с поддержкой внешних ключей, частичных индексов, хранимых процедур и триггеров.
  • Интеллектуальное распределенное выполнение запросов позволяет отдалить обработку передаваемых по сети данных, уменьшая время отклика на запросы.
  • Поддержка автоматического и прозрачного распределенного хранения данных для обеспечения высокой производительности и доступности.
  • Обеспечение строго согласованной репликации и распределенных ACID-транзакций.

Для получения углубленных знаний о распределенном SQL,
ознакомьтесь с
официальной документацией.

Что такое YugabyteDB?

YugabyteDB – это
высокопроизводительная распределенная СУБД с открытым исходным кодом, построенная
на масштабируемом и отказоустойчивом дизайне, вдохновленном Google Spanner.
YugabyteDB совместима с PostgreSQL, а также умеет интегрироваться с
проектами GraphQL и поддерживает хранимые процедуры, триггеры, а также UDFs.

Остались вопросы – обратитесь к официальному
форуму
.

Шаг 1: Установка YugabyteDB на кластер GKE с помощью Helm 3

Полный мануал можно найти по этой ссылке. Предположим, что у вас уже есть запущенный и работающий кластер GKE.

Первое, что нужно сделать – добавить репозиторий:

        $ helm repo add yugabytedb https://charts.yugabyte.com
    

Получим обновления:

        
$ helm repo update
    

Создадим пространство имен yb-demo:

        
$ kubectl create namespace yb-demo
    

В ответ получим следующее:

        namespace/yb-demo created
    

Теперь установим YugabyteDB и укажем значения для некоторых
ограничений:

        $ helm install yb-demo yugabytedb/yugabyte \
--set resource.master.requests.cpu=1,resource.master.requests.memory=1Gi,\
resource.tserver.requests.cpu=1,resource.tserver.requests.memory=1Gi,\
enableLoadBalancer=True --namespace yb-demo --wait
    

Проверим статус:

        $ kubectl get services --namespace yb-demo
    

Обратите внимание на внешний IP-адрес и порт для сервиса yb-tserver, который мы собираемся использовать для установления
соединения между YugabyteDB и IntelliJ: 35.224.XX.XX:5433.

Шаг 2: Создайте Northwind БД

Следующим шагом является загрузка образца схемы и данных. Вы
можете найти множество примеров
совместимых с YugabyteDB баз данных в документации для разработчиков. Для этого туториала будем использовать
образец БД Northwind, содержащий данные о продажах компании “Northwind
Traders”. Это отличная учебная схема для ERP-системы малого бизнеса с
клиентами, заказами, закупками, поставщиками, доставкой и прочим.

Подключитесь к yb-tserver-pod:

        $ kubectl exec -n yb-demo -it yb-tserver-0 /bin/bash
    

Чтобы загрузить файлы схемы и данные, выполните следующие
команды:

        $ wget https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/sample/northwind_ddl.sql
$ wget https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/sample/northwind_data.sql
    

Выйдите из оболочки pod и подключитесь к службе YSQL:

        $ exit
$ kubectl exec -n yb-demo -it yb-tserver-0 -- ysqlsh -h yb-tserver-0.yb-tservers.yb-demo
    

Создайте базу данных и подключитесь к ней:

        
yugabyte=# CREATE DATABASE northwind;
northwind=# \c northwind;
    

Теперь можно создать объекты БД и заполнить их данными,
используя файлы, которые мы загрузили в yb-tserver-pod:

        northwind=# \i 'northwind_ddl.sql';
northwind=# \i 'northwind_data.sql';
    

Убедитесь, что таблицы созданы:

        northwind-# \d
                 List of relations

 Schema |          Name          | Type  |  Owner
-------+------------------------+-------+----------
 public | categories             | table | yugabyte
 public | customer_customer_demo | table | yugabyte
 public | customer_demographics  | table | yugabyte
 public | customers              | table | yugabyte
 public | employee_territories   | table | yugabyte
 public | employees              | table | yugabyte
 public | order_details          | table | yugabyte
 public | orders                 | table | yugabyte
 public | products               | table | yugabyte
 public | region                 | table | yugabyte
 public | shippers               | table | yugabyte
 public | suppliers              | table | yugabyte
 public | territories            | table | yugabyte
 public | us_states              | table | yugabyte

(14 rows)
    

Проверьте, что данные присутствуют, выполнив простой SELECT:

        northwind=# SELECT count(*) FROM products;
 count
-------
    77

(1 row)
    

По умолчанию настроенная YugabyteDB поставляется без пароля для пользователя yugabyte. Изменение выполняется
так же, как и в PostgreSQL:

        northwind=# ALTER ROLE yugabyte WITH PASSWORD 'password';
    

Шаг 3: Настройка IntelliJ для работы с YugabyteDB

Откройте окно БД (View > Tool Windows > Database):


Добавьте источник данных PostgreSQL. (New (+) > Data Source >
PostgreSQL
):


На вкладке General заполните данные для подключения к БД:

  • Host: внешний IP-адрес, который GKE назначил YugabyteDB на предыдущем шаге.
  • Port: YugabyteDB использует порт 5433.
  • Database: образец БД northwind из предыдущего шага.
  • User: по умолчанию – это yugabyte.
  • Password: пароль из предыдущего шага.
  • Driver: установите последнюю версию драйвера PostgreSQL.

Прежде чем нажать кнопку “ОК”, убедитесь, что присутствует
соединение.

Шаг 4: Выполнение запроса

Теперь давайте протестируем интеграцию, выполнив следующий
запрос в IntelliJ:


В окне вывода должны увидеть следующий результат:


Шаг 5: Генерируем объяснение

IntelliJ умеет создавать визуализацию ваших запросов.
Например, можно получить визуализацию последнего запроса, выбрав Explain Plan > Show Visualization.


Примечание: не все функции управления базами данных IntelliJ
поддерживаются с помощью YugabyteDB.

Заключение

Теперь у вас есть кластер YugabyteDB на три узла и GKE с
образцом базы данных Northwind, которые и дальше можно использовать в тестах на IntelliJ. Дополнительные сведения о взаимодействии с БД с помощью IntelliJ ищите в
документации, а для получения информации о сторонних интеграциях с YugabyteDB ознакомьтесь с документацией для разработчиков.

Дополнительные материалы

11
Ноя
2020

Курс «Разработка на Java»

Изучите основы ООП на Java, баз данных, сетевых технологий и веб-разработки на Spring и Hibernate.
— Читать дальше «Курс «Разработка на Java»»

15
Окт
2020

Курс «Spring Framework Developer»

Научитесь быстро проходить путь от идеи до production-grade на практическом онлайн-курсе «Spring Framework Developer».
— Читать дальше «Курс «Spring Framework Developer»»

08
Окт
2020

Старт 9 ноября, Москва и СПб: интенсив «Fullstack-разработчик. JavaScript»

За 3 месяца овладеете необходимыми знаниями по JavaScript и основным инструментам, которые позволят трудоустроиться на позицию разработчика.
— Читать дальше «Очный интенсив «Fullstack-разработчик. JavaScript»»

08
Окт
2020

Цель статьи – познакомить читателей с процессом сбора, интерпретации и обработки данных для оперирования временными рядами с помощью сервера SQL и Python.

Адаптированный текст публикуется с сокращениями, автор оригинальной статьи Rick Dobson.

***

Распространённая задача анализа данных – обработка временно́го ряда. Это может быть отслеживание распространения вируса или анализ стоимости ценных бумаг, который мы рассмотрим в данной статье. В качестве сервера SQL возьмём Microsoft SQL Server, а программировать будем на Python.

Для начала выделим три общие задачи:

  1. Управление информацией после заполнения базы данных.
  2. Увеличение числа отслеживаемых элементов после первоначального заполнения БД.
  3. Добавление свежих данных для более поздних интервалов времени.

Cбор и настройка
исходного набора данных

Начнем со сбора сведений. Раздобыть их можно в транзакционных базах данных, хранилищах информации вашей
компании или в общедоступных интернет-источниках. Необходимо
связать между собой по крайней два измерения: метки времени и соответствующие им значениями переменной.

Ниже показана
информация о мартовских ценах акций корпорации Microsoft на Yahoo Finance. Обратите внимание, что торгующиеся на бирже ценные бумаги обозначаются специальными идентификаторами – тикерами (тикерными символами – от англ. ticker symbols). Например, MSFT – тикер акций Microsoft.

 Cтраница Historical Data на Yahoo Finance
Cтраница Historical Data на Yahoo Finance

В серой части страницы приведены основные параметры запроса: в частности можно указать интервал времени и частоту.

Разберем скрипт
Python, предназначенный для сбора данных временных рядов из файла MSSQLTips_4.txt.

        import pandas_datareader.data as web
import datetime
 
symbol = []
with open('C:\python_programs\MSSQLTips_4.txt') as f:
    for line in f:
        symbol.append(line.strip())
f.close()
 
start = datetime.date(2019,9,17)
end = datetime.date(2019,9,24)
 
path_out = 'c:/python_programs_output/'
file_out = 'yahoo_prices_volumes_for_MSSQLTips_4_to_csv_demo.csv'
 
i = 0
while i < len(symbol):
    try:
        df = web.DataReader(symbol[i], 'yahoo', start, end)
        df.insert(0, 'Symbol', symbol[i])
        df = df.drop(['Adj Close'], axis=1)
        if i == 0:
            df.to_csv(path_out+file_out)
            print (i, symbol[i],'has data stored to csv file')
        else:
            df.to_csv(path_out+file_out,mode = 'a', header=False)
            print (i, symbol[i],'has data stored to csv file')
    except:
        print("No information for symbol or file is open in Excel:")
        print (i, symbol[i])
        continue
    i+=1
    

Скрипт записывает информацию в файл yahoo_prices_volumes_for_MSSQLTips_4_to_csv_demo.csv , который выглядит следующим образом:

Вы можете вставить
данные временных рядов из yahoo_prices_volumes_for_MSSQLTips_4_to_csv_demo.csv
в таблицу на сервере SQL с помощью группового insert-а. Приведённый ниже сценарий демонстрирует
этот процесс:

  • Начинается он с инструкции use для базы данных, содержащей таблицу для начальной загрузки.
  • Сценарий создает новую копию таблицы yahoo_prices_volumes_for_MSSQLTips.
  • Таблица yahoo_prices_volumes_for_MSSQLTips заполняется начальными данными.
  • Оператор if exists проверяет наличие таблицы и если она существует, старая копия удаляется.
  • Вставка содержимого файла yahoo_prices_volumes_for_MSSQLTips_4_to_csv_demo.csv в таблицу yahoo_prices_volumes_for_MSSQLTips осуществляется с помощью insert.
  • Завершает скрипт оператор select, который возвращает содержимое заполненной таблицы.
        use [for_csv_from_python]
go
 
-- drop table for watchlist if it exists
if exists(select object_id('dbo.yahoo_prices_volumes_for_MSSQLTips'))
drop table dbo.yahoo_prices_volumes_for_MSSQLTips
 
-- create table for watchlist
create table dbo.yahoo_prices_volumes_for_MSSQLTips(
   [Date] date,
   [Symbol] nvarchar(10),
   [Open] money NULL,
   [High] money NULL,
   [Low] money NULL,
   [Close] money NULL,
   [Volume] int NULL
) 
go 
 
-- bulk insert first batch of symbols to watchlist
bulk insert dbo.yahoo_prices_volumes_for_MSSQLTips
from 'C:\python_programs_output\yahoo_prices_volumes_for_MSSQLTips_4_to_csv_demo.csv'
with
(
    firstrow = 2,
    fieldterminator = ',',  --CSV field delimiter
    rowterminator = '\n'
) 
 
-- display watchlist table with data for first batch of symbols
select * from dbo.yahoo_prices_volumes_for_MSSQLTips order by symbol, date
    

Ниже приведён набор
значений из последнего select в предыдущем скрипте. Строки упорядочиваются с помощью директивы order by.

Добавление новых тикеров в начальную загрузку

После начальной загрузки данными нужно управлять. Пользователи могут запрашивать информацию о
дополнительных элементах: например, о ценах в том же диапазоне дат ещё для трех тикеров, вроде ENPH, INS и KL. Вам в помощь txt-файл
MSSQLTips_3.txt с тикерными символами для начальной загрузки.

Вы можете загрузить
цены и объёмы для этих новых символов с помощью скрипта Python read_mssqltips_3_for_export_via_csv.py.
Он ссылается на MSSQLTips_3.txt и сохраняет выходные данные в файле yahoo_prices_volumes_for_MSSQLTips_3_to_csv_demo.csv.
Полный список всех скриптов Python в этом руководстве доступен по этой
ссылке.

Приведем файл с данными: yahoo_prices_volumes_for_MSSQLTips_3_to_csv_demo.csv

Обновление списка наблюдения может быть выполнено с помощью
инструкции bulk insert, которая перекачивает содержимое yahoo_prices_volumes_for_MSSQLTips_3_to_csv_demo.csv
в таблицу yahoo_prices_volumes_for_MSSQLTips. Следующий скрипт показывает код
T-SQL для обновления таблицы:

        -- bulk insert second batch of symbols to watchlist
bulk insert dbo.yahoo_prices_volumes_for_MSSQLTips
from 'C:\python_programs_output\yahoo_prices_volumes_for_MSSQLTips_3_to_csv_demo.csv'
with
(
    firstrow = 2,
    fieldterminator = ',',  --CSV field delimiter
    rowterminator = '\n'
)
 
-- display watchlist table with data for first and second batches of symbols
select * from dbo.yahoo_prices_volumes_for_MSSQLTips order by symbol, date
    

Последний select
показывает таблицу наблюдения после того, как в нее добавились тикеры ENPH,
INS и KL. Напомним, что изначально в таблице их было всего четыре: AMZN,
MSFT, ORCL, PAYS.

Таблица наблюдения
содержит сорок две строки данных — по шесть строк для
каждого из семи тикеров.

Добавление новых строк
с данными

В этом разделе
представлен обзор изменений кода для обновления существующей таблицы значений
временных рядов данными для дополнительного периода времени. До
этого момента в статье фигурировал интервал с 17 сентября 2019 по 24
сентября 2019. При работе с данными временных рядов обычно происходит
регулярное обновление информации, например, один раз в день.
Поскольку в примерах используются последовательные торговые дни, добавим данные за 25
сентября 2019 года для тикеров из MSSLQTIPS_7.txt.

В файле yahoo_prices_volumes_for_MSSQLTips_7_to_csv_demo.csv с данными
за 25 сентября 2019 года для каждого тикера существует только одна строка.

Содержимое файла
можно добавить в таблицу наблюдения значений временных рядов
(yahoo_prices_volumes_for_MSSQLTips) с помощью следующего кода.

        -- bulk insert fresh time series data to watchlist
bulk insert dbo.yahoo_prices_volumes_for_MSSQLTips
from 'C:\python_programs_output\yahoo_prices_volumes_for_MSSQLTips_7_to_csv_demo.csv'
with
(
    firstrow = 2,
    fieldterminator = ',',  --CSV field delimiter
    rowterminator = '\n'
)
  
-- display watchlist table with data for first and second batches of symbols
-- and with an extra row of time series data from the preceding select statement
select * from dbo.yahoo_prices_volumes_for_MSSQLTips order by symbol, date
    

В выводе оператора select из предыдущего скрипта показаны результаты
по AMZN для начальной загрузки данных временных рядов, а также по ENPH из
обновления. Как видите, оба символа имеют исторические значения временных рядов
для торговых дат с 17 сентября 2019 года по 25 сентября 2019 года. Остальные
пять символов, также имеют значения временных рядов в том же диапазоне дат.

Заключение

Для закрепления
информации, предлагаем вам домашнее задание:

  • попробуйте повторить описанные в статье действия;
  • измените тикеры и даты на те, которые вам больше нравятся;
  • замените текущие файлы cave новыми, из систем вашей компании.

Не
останавливайтесь на достигнутом. Удачи!

29
Сен
2020

14 октября – 17 октября, онлайн: конференция Golang Live 2020

Профессиональная конференция для Go-разработчиков. Специалисты расскажут о применении языка программирования Golang в энтерпрайз-проектах.
— Читать дальше «Конференция Golang Live 2020»

04
Сен
2020

14-18 сентября, онлайн: конференция Russian Python Week 2020

Специалисты ведущих IT–компаний расскажут обо всём, что касается Python: безопасность, оптимизация кода, истории успеха и провалов.
— Читать дальше «Конференция Russian Python Week 2020»

03
Сен
2020

15-17 сентября, Москва: конференция TestCon Moscow 2020

Специалисты поделятся инструментами и лучшими практиками для проведения тестов в целях улучшения качества программного обеспечения.
— Читать дальше «Конференция TestCon Moscow 2020»

28
Авг
2020

ТОП-10 навыков Data Scientist, гарантирующих трудоустройство. А также подборка полезных ресурсов, чтобы достичь мастерства в этих умениях.

В статье «Научиться Data Science онлайн» мы рассказали, как овладеть профессией с нуля (был и отдельный материал об анализе больших данных). В этой статье, подготовленной при поддержке Факультета Искусственного интеллекта онлайн-университета GeekBrains, мы сосредоточимся на ключевых навыках, необходимых тем, кто хочет стать Data Scientist.

<a href="https://www.edureka.co/blog/how-to-become-a-data-scientist/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник
Data Scientist как единороги. Это профессионалы с таким разнообразным набором навыков, который обычно не встречается у одного человека.

Hard Skills

1. Математическая база

Знание методов машинного обучения неотъемлемая часть работы Data Scientist. Для работы с алгоритмами машинного обучения необходимо понимание основ математического анализа (например, уравнений в частных производных), линейной алгебры, статистики (включая байесовскую теорию) и теории вероятностей. Знания статистики помогают Data Scientist критически оценить значимость данных. Математическая база также важна в разработке новых решений, оптимизации и корректировке методов существующих аналитических моделей.

Бесплатные онлайн-курсы по перечисленным областям математики с высокими оценками слушателей:

2. Программирование

Важными навыками Data Scientist также являются сбор, очистка, обработка и систематизация данных. Для этих задач и реализации самих моделей машинного обучения используются языки программирования Python и R. Какой язык выбрать для работы, мы обсуждали в статье «От “R против Python” к “R и Python”».

Курсы Python:

Курсы R:

3. Работа с базами данных

Для выполнения большинства задач, стоящих перед Data Scientist, необходим навык программирования с использованием языка запросов SQL. Несмотря на то что NoSQL и Hadoop также являются важной частью Data Science, SQL-базы по-прежнему остается основным способом хранения данных. Data Scientist должен уметь производить сложные запросы в SQL.

Назовите меня сумасшедшим, но я хочу научить SQL каждого профессионала, работающего с данными в любом качестве. Я говорю о людях из отделов кадров, информационных технологий, продаж, маркетинга, финансов, поставщиков товаров и так далее. Если ваша цель состоит в том, чтобы добиться большего эффекта в своей работе с использованием данных, объединение Excel + SQL позволяет вам делать потрясающие вещи. Если ваша цель состоит в том, чтобы перейти в аналитику (например, в роли бизнес-аналитика), вам определенно нужны навыки SQL […] Почему бы не начать изучать SQL в эти выходные?

Соответствующие курсы:

4. Предобработка данных

Data Scientist также занимаются подготовкой данных к анализу. Часто данные в бизнес-проектах не структурированы (видео, изображения, твиты) и не готовы для анализа. Крайне важно понимать и знать, как подготовить базу данных для получения желаемых результатов без потери информации. На этапе разведочного анализа данных (EDA) становится ясным, какие проблемы с данными необходимо решить и как нужно преобразовать базу данных для построения аналитических моделей.

<a href="https://blog.udacity.com/2014/11/data-science-job-skills.html" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

5. Алгоритмы

Для работы над созданием проектов машинного обучения потребуется знание традиционных алгоритмов машинного обучения: линейная и логистическая регрессии, дерево принятия решений, метод опорных векторов. Понять тонкости работы алгоритмов машинного обучения помогут курсы:

6. Навыки, специфичные для выбранной области анализа

После получения базовых знаний вам потребуются специфические навыки для выбранной области работы. Например, глубокое обучение класс алгоритмов машинного обучения, основанный на искусственных нейронных сетях. Данные методы обычно используются для создания более сложных приложений, таких как алгоритмы распознавания и генерации объектов, обработка изображений и компьютерное зрение.

Но есть и другие области, где возможно применение как нейросетевого подхода, так и собственных решений:

Для самостоятельного изучения принципов глубокого изучения и построения нейросетей ознакомьтесь с нашим учебным планом освоения глубокого обучения и нейросетей.

Soft skills

7. Умение донести свою идею

<a href="https://www.haselt.com/blog/the-ted-software-engineers-recommend-their-favorite-ted-talks" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Data Scientist должен уметь донести идею широкой аудитории. Это особенно важно в бизнес-сфере, где заказчики проекта могут не владеть техническими навыками и терминологией. Для презентации результатов потребуются навыки подачи информации, умение донести идею простым языком. Участвуйте в Data Science конференциях и онлайн-митапах. Это возможность не только прокачать навыки коммуникации и small-talk с коллегами, но и получить фидбэк.

Курсы о принципах успешной презентации:

8. Командная работа

Профессия Data Scientist подразумевает коллективную работу над проектами. Для этого необходимы навыки коммуникации и четкое видение собственной роли в команде. Успешный итог коллективного проекта напрямую зависит от эффективного взаимодействия участников. Умение услышать другое мнение и принять совместное решение важно также для командного участия в Data Science соревнованиях Kaggle.

Data Science – это командный вид спорта, а те, кто говорит: «нападающие – самые лучшие!», наверняка столкнутся с бунтом остальной команды. Каждый член команды ценен! Если каждый играет свою роль хорошо, то бизнес будет продолжать извлекать ценность из данных.
<a href="https://www.stack.com/a/grid-crossfit" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Навык успешной командной работы приходит с опытом, а для освоения тонкостей обратите внимание на следующие ресурсы:

9. Умение видеть коммерческую сторону вопроса

Ключевой навык Data Scientist для работы в бизнес-среде умение находить экономически эффективные решения с минимальными затратами ресурсов. Компании, которые используют Data Science для получения прибыли, нуждаются в специалистах, понимающих, как реализовать бизнес-идеи с помощью данных.

По мере того как организации начинают в полной мере извлекать выгоду из использования внутренних информационных активов и изучать интеграцию сотен сторонних источников данных, роль Data Scientist будет продолжать расти.

Про особенности Data Science для бизнеса:

10. Критическое мышление

Навык критического мышления помогает находить подходы и пути решения проблем, которые не видят остальные. Критическое мышление Data Scientist – это видение всех сторон проблемы, рассмотрение источников данных и проявление любопытства.

Data Scientist должен понимать бизнес-проблему, уметь моделировать и фокусироваться на том, что имеет значение для ее решения, а не то, что является посторонним и может быть проигнорировано. Этот навык больше, чем что-либо другое, определяет успех Data Scientist.
Ананд Рao, руководитель отдела глобального искусственного интеллекта и инноваций в области данных и аналитики PwC

Итог

Если вы хотите построить карьеру Data Scientist, начните прямо сейчас. Эта область постоянно расширяется и нуждается в новых специалистах. Для освоения необходимых навыков Data Scientist с нуля запишитесь на курс Data Science Факультета Искусственного интеллекта.

Программа курса включает и технические знания, и их применение для развития бизнеса. Включена возможность развития навыков командной работы и участие в соревнованиях Kaggle. Обучение на курсах построено на принце практической работы над проектами с ведущими специалистами сферы и личным помощником-куратором.

19
Июн
2020

Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.

Итак, вам нужно определиться с оборудованием для 1С. Для начала требуется определить параметры серверного и клиентского оборудования. Обсудим, что влияет на их выбор:

  • Количество одновременно работающих в системе пользователей.
  • Размер базы данных с учетом потенциального роста.
  • Особенности нагрузки, требования к отказоустойчивости.

Обычно число пользователей системы является ключевым параметром, определяющим остальные.

В зависимости от требований необходимо выбрать:

  • Дисковый массив: объем, пропускная способность при считывании и записи данных.
  • Процессор: количество ядер и частота.
  • Оперативная память: объём и частота.
  • Требование к скорости выполнения ключевых операций. Например: проверка остатков в панели менеджера за 0.3 секунды, формирование супер-отчета не более чем за минуту, расчет данных для утренней выписки путевых листов за ночь и т. п.

Расчёт параметров доступен на сайте 1С. В частности, там приведена следующая таблица зависимости характеристик от числа пользователей:

Рекомендуемые параметры с сайта 1С
Рекомендуемые параметры с сайта 1С

Вячеслав Гилёв в посте Рекомендации по процессорам при подборе серверного оборудования для 1С указывает на важность выбора процессора, в частности обращая внимание, что одним из ключевых факторов является частота:

Важно брать не самый дорогой процессор, а процессор с максимальной частотой. В рамках одной серии одного поколения процессоров действительно самый дорогой процессор будет иметь максимальную частоту. Но при сравнении процессоров разных серий стоимость при одной частоте может отличаться в разы.

При этом при покупке сервера стоимость процессора составляет примерно 10% от всего сервера, а вклад в общую производительность может достигать 50%.

Инженер Дмитрий Малышев указывает, что системные требования на сайте 1С являются минимальными и для работы рекомендует несколько отличающийся набор характеристик оборудования для серверов базы данных и 1С.

Рекомендации Дмитрия Малышева
Рекомендации Дмитрия Малышева

Общие рекомендации Малышева следующие:

  • Между серверами для обеспечения отказоустойчивости использовать сетевые интерфесы 2х10Гб.
  • На сервере СУБД не должно быть никаких других задач и ролей, кроме сервера СУБД.
  • На сервере 1С не устанавливать роль терминального сервера.
  • Все сервера должны находиться в одной подсети. Виртуализацию оборудования нужно по возможности избегать.
  • Файлы, от которых зависит максимальная производительность системы (а это файлы и логи БД, файлы tempdb для MS SQL или pg_xlog для PostgreSQL, файлы кластера 1С (srvinfo), папка временных файлов профиля пользователя службы 1С) необходимо размещать на PCIe SSD и/или NVMe.

Если есть повышенные требования к отказоустойчивости системы, надо подумать о резервировании узлов. Что и как резервировать – определяется напрямую требованиями и финансовыми возможностями бизнеса.

При выборе сервера для размещения конфигурации 1С уже не стоит выбор – физический сервер или виртуальный. Значимых отличий по скорости нет, а удобство и отказоустойчивость при использовании виртуальных машин очевидны даже ярым скептикам.

Однако выбор самой конфигурации сервера и необходимых выделяемых ресурсов часто бывает нетривиальной задачей так как. отсутствует официальная методика расчета нагрузки от компании разработчика «1С». Казалось бы, что сложного – выбираем объем усредненных ресурсов и умножаем на количества одновременно работающих пользователей. Но тут есть ряд моментов.

База может работать как в файловом режиме, где на скорость влияет в большей степени отклик дисковой подсистемы сервера, так и в клиент-серверном режиме, где также добавляется неизвестные в виде неоптимизированных запросов к СУБД, схемы размещения самого сервера предприятия 1С и тонких/толстых клиентов.

Также присутствует тонкости в виде взаимных блокировок при одновременной работе нескольких пользователей в одной базе, ограничений платформы 1С и тщательной настройки физических серверов для оптимальной производительности виртуальных машин.

На наш взгляд, наиболее оптимальном вариантом являться поднятие тестового сервера с примерными показателями такими как 2 Гб оперативной памяти в расчете на одного работающего пользователя, использование для размещения баз SSD дисков Enterprise уровня и выделение 2-4 виртуальных процессоров с высокой тактовой частотой. После чего производится сравнение скорости работы 1С в файловом и клиент-серверном варианте и при необходимости изменение выделяемых ресурсов.

Алексеев Михаил, CIO, группа компаний «УниКС», http://unics.online/

Конечно, можно строить систему самостоятельно. Но если нужно надёжное готовое решение, достаточно арендовать физический выделенный сервер для 1С в одном из защищенных дата-центров. В качестве примера рассмотрим конфигурации серверов 1С, предлагаемых компанией Selectel.

Результаты анализа <a href="https://proglib.io/w/4c221cb5" target="_blank">предложений Selectel</a>
Результаты анализа предложений Selectel
Всё больше компаний выбирают использование облачных решений вместо обычных серверов. Cloud-решения обычно обходятся дешевле, не нужно заниматься поддержкой «железа», к тому же можно оплачивать ежемесячную подписку вместо покупки серверов, что в том числе позволяет легко масштабироваться.

Однако в случае с корпоративными системами, содержащими конфиденциальную информацию, такими как CRM, ERP, учетными системами – в частности, 1С – компании всё же предпочитают использовать серверные решения как более безопасные и привычные.

Александр Смирнов, консультант по управлению проектами, http://ibtraining.ru/

Для нагрузки свыше 100 пользователей Selectel поможет выбрать конфигурацию под ваши требования. На соответствующей странице можно ввести сведения о требуемой системе (число пользователей, база данных, лицензии), и сайт автоматически рассчитает стоимость.

09
Июн
2020

18 июня, онлайн: Online Ruby Meetup №12

Поговорят про проблемы с производительностью Ruby-приложений, как писать простой и поддерживаемый код, CQRS-паттерне и использовании PostgreSQL в проектах.
— Читать дальше «Online Ruby Meetup №12»