ЦОД, да не тот?

Автор: Александр Ляхов
журналист

В базе данных Uptime Institute, одной из самых авторитетных сертификационных организаций, числится семь казахстанских дата-центров. Много это или мало? И какие дата-центры нам нужны?

От сумы да от тюрьмы не зарекайся

В ночь с 9 на 10 марта 2021 года во французском Страсбурге, где располагался дата-центр крупнейшего европейского хостинг-провайдера OVHcloud, загорелось пятиэтажное здание под кодовым названием SBG2. Пожарные оперативно прибыли на место происшествия и в течение шести часов пытались потушить огонь, но…

Корпуса SBG1, SBG3 и SBG4 удалось спасти, а вот построенный пятью годами ранее и рассчитанный на 30 тысяч физических серверов SBG2 сгорел полностью. Все хранившиеся здесь данные клиентов и резервные копии были потеряны. С перебоями в работе, вызванными последствиями пожара в SBG2, столкнулось около 3,6 млн веб-ресурсов в национальной доменной зоне .FR, включая сайты правительственных органов, банков, магазинов, СМИ и других.

Вот так компания, основанная в 1999 году и успешно конкурирующая с такими «облачными» гигантами, как Amazon Web Services, Microsoft Azure и Google Cloud, в одночасье потеряла примерно 105 млн евро (такой предполагаемый ущерб был указан в отчёте, поданном в Комиссию по надзору за финансовым рынком Франции (L’Autorité des marchés financiers). Но на этом её беды не закончились: двумя годами позже суд обязал выплатить 250 000 евро двум клиентам, потерявшим свои данные, а ещё более 130 других клиентов подали коллективный иск против компании.

Этот случай наглядно показал, что доверять свои данные даже авторитетным дата-центрам можно с большой осторожностью. А кому можно доверять смело? Об этом наш рассказ…

Пожар в дата-центре OVHcloud
Пожар в дата-центре OVHcloud
Фото: Securityaffairs.com via Wikipedia Commons

Что такое ЦОД и их структура

Согласно Википедии, центр хранения и обработки данных (ЦОД) (англ. Data center) – это специализированный объект, представляющий собой связанную систему ИТ- и инженерной инфраструктуры, серверное и сетевое оборудование которых размещены в здании/помещении, подключённом к инженерным и телекоммуникационным сетям.

Дата-центры делятся на корпоративные и коммерческие (аутсорсинговые), предоставляющие свои услуги всем желающим. А требования к проектированию, строительству и эксплуатации ЦОД определяет действующий с 2005 года стандарт TIA-942 (Telecommunications Infrastructure Standard for Data Centers), разработанный специалистами Telecommunications Industry Association

Типовой дата-центр, соответствующий средним уровням надёжности Tier II и Tier III, включает:

инженерную инфраструктуру, обеспечивающую нормальное функционирование вычислительных мощностей дата-центра и включающую а) систему кондиционирования – для поддержания температуры и влажности в заданных параметрах, б) систему бесперебойного электроснабжения – для автономной работы дата-центра в случаях отключения центральных источников электроэнергии, в) охранно-пожарную сигнализацию и систему газового пожаротушения, г) системы удалённого IP-контроля, управления питанием и контроля доступа;

информационную инфраструктуру, обеспечивающую основные функции дата-центра – хранение и обработку информации. Серверное оборудование принимается, как правило, в стоечном исполнении. Для обеспечения сохранности данных используются системы резервного копирования, а для предотвращения их кражи – системы ограничения физического доступа и системы видеонаблюдения;

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

Услуги дата-центров сильно различаются по количеству и качеству, а следовательно – и по цене. Так, некоторые дата-центры предлагают клиентам дополнительные услуги по автоматическому уходу от DDOS-атак и попыток взлома. На цену также влияет и наличие/отсутствие сертификатов Tier.

Логотип Uptime Institute
Логотип Uptime Institute

Сертификация Tier от Uptime Institute

Все ЦОД классифицируются по уровням надёжности Tier. И единственная международная компания, имеющая лицензию на проведение оценки и сертификации дата-центров на соответствие системе классификации Tier – это Uptime Institute. Сейчас команда Uptime Institute занимается обучением, консалтингом и сертификацией ЦОД на всех этапах – проектирования, строительства и эксплуатации, за всё время своей работы выдав 2633 сертификата Tier в 113 странах.

Сертификаты Tier разделяются по уровням (tier, к слову, так и переводится – уровень), их определяет комиссия Uptime Institute в процессе проверки дата-центра. Всего уровней надёжности дата-центров четыре – как и в стандарте TIA-942, да и называются они похоже, вплоть до полного совпадения:

  • Tier I: Basic Capacity (в TIA-942 ему соответствует Tier I Data Center: Basic);
  • Tier II: Redundant Capacity Components (Tier II Data Center: Redundant Components);
  • Tier III: Concurrently Maintainable (Tier III Data Center: Concurrently Maintainable);
  • Tier IV: Fault Tolerant (Tier IV Data Center: Fault Tolerant).

Мировой опыт свидетельствует, что выбор уровня дата-центра зависит от целей и планов компании. Уровень Tier I не имеет резервирования и потому малонадёжен, а уровень Tier IV в силу избыточности резервирования слишком дорого обходится.

Вот почему большинство дата-центров, оказывающих коммерческие услуги, относятся к категориям Tier II и особенно Tier III, где ремонты и плановые работы не влияют на работу дата-центра, а среднегодовой простой и надёжность инфраструктуры (общий показатель отказоустойчивости дата-центра на основе совокупности всех факторов надежности инфраструктуры) составляют соответственно 1,6 часа и 99,982% (для Tier II аналогичные показатели равны 28,8 часа и 99,671%).

Сертификация Tier: один сертификат, два или три?

Получение сертификатов Tier – это весьма непростая, длительная (примерно два года времени) и дорогостоящая (1% и выше от стоимости дата-центра) процедура. Проходить её не обязательно, ЦОД можно спроектировать, ввести в эксплуатацию и полноценно работать без подтверждающих документов от Uptime Institute.

Uptime Institute предусматривает три этапа сертификации для ЦОДов, чтобы весь процесс создания дата-центра – от проектирования до ввода в эксплуатацию – соответствовал стандартам. Прохождение этапа подтверждается получением соответствующего сертификата, причём каждый последующий сертификат невозможно получить без наличия предыдущего:

  • TCDD – Сертификат соответствия проектной документации (Tier Certification of Design Documents);
  • TCCF – Сертификат соответствия построенного сооружения (Tier Certification of Constructed Facility);
  • TCOS – Сертификат операционной устойчивости (Tier Certification of Operational Sustainability).

Сколько сертификатов Tier должно быть у дата-центра? Сертификат TCDD означает, что был разработан грамотный проект, но не гарантирует, что его реализуют точь-в-точь. Компания может построить здание меньше по площади, или сэкономить на кондиционерах, или изменить расположение серверов. В этом случае она не пройдёт следующий этап сертификации, но сертификат на проект у неё никто не отнимет. Получение сертификата TCCF означает, что построенный дата-центр соответствует проектной документации, но на этом этапе не проверяются отлаженность процессов и квалификация сотрудников. Поэтому даже наличие двух сертификатов сохраняет риск, что оборудование ЦОД будет эксплуатироваться с ошибками, а при аварии его специалисты не смогут быстро сориентироваться и избежать потери данных клиентов. TCOS – это последний этап сертификации.

Считается, что дата-центр, имеющий все три сертификата Tier от Uptime Institute, надёжен, отказоустойчив и высокопроизводителен. В нём можно смело размещать конфиденциальные данные, бизнес-критичные сервисы и строить на его базе частные «облака».

Казахстанские дата-центры в базе данных Uptime Institute
Казахстанские дата-центры в базе данных Uptime Institute

Казахстанские ЦОД: заявляем, но не подтверждаем

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

Не удивительно, что в базе данных Uptime Institute числится лишь семь казахстанских дата-центров (ЦОД), клиентами которых являются крупнейшие операторы связи – АО «Казахтелеком» (в Павлодаре) и АО «Транстелеком» (в Астане), а также АО «Национальный банк Казахстана» (в Астане) и АО «Казтелепорт» (в Алматы). И лишь один из этих семи ЦОД сертифицирован полностью по Tier III – тот, что обслуживает нефтегазовую компанию «Норт Каспиан Оперейтинг Компани Н.В.» (в Атырау).

А что же частные компании? Поскольку сертификация Tier, как я уже сказал выше, не является обязательной, многие наши хостинг-провайдеры, даже самые известные из них – такие, как алматинские ТОО «Интернет-компания PS», ТОО «Академсеть» и ТОО «Компания Hoster.KZ» в Караганде, строят свои дата-центры по стандартам Tier II и Tier III, но предпочитают обходиться от прохождения сертификации по одной вполне понятной причине: финансовой. Дело в том, что стоимость сертификации площадки, включая получение сертификатов, аудита, перелётов и проживания специалистов Uptime Institute, может варьироваться от $100 тысяч до $320 тысяч, что в пересчёте на стойку может существенно поднять цену для клиентов.

А вот крупные игроки, для которых стоимость сертификации может составлять менее 1% от затрат на проектирование, строительство и ввод в эксплуатацию, охотно идут на такие затраты. Но даже они считают обязательным получение для своих дата-центров сертификатов TCDD и TCCF, а вот TCOS – это всегда вопрос для обсуждения.

Кстати, на вопрос, сколько же всего в Казахстане дата-центров, Светлана Черненко, многолетний руководитель аналитического агентства «iKS-Consulting Казахстан», а с июля 2023 года – ещё и ОЮЛиИП «Ассоциация операторов ЦОД и облачных сервисов», ответила, что они предпочитают оперировать количеством коммерческих стоек. И вот их-то в наших дата-центрах сейчас около 3500. А к 2030 году это количество должно утроиться!

: Если вы обнаружили ошибку или опечатку, выделите фрагмент текста с ошибкой и нажмите CTRL+Enter
23813 просмотров
Поделиться этой публикацией в соцсетях:
Forbes Video

Бахт Ниязов: как живет венчурный инвестор в Казахстане?

Обсуждаемые в Соцсетях
Самые Читаемые

Орфографическая ошибка в тексте:

Отмена Отправить
172.97msRequest Duration7.25MBMemory UsageGET blogs/blogsid_{blogID}RouteAuth status
    • Booting (20.46ms)
    • Application (156.72ms)
      21 templates were rendered
      • blogs-inner (resources/views/blogs-inner.blade.php)3blade
        Params
        0
        article
        1
        mlt_articles
        2
        keywords
      • banners.B (resources/views/banners/B.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
      • partials.social-bid (resources/views/partials/social-bid.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
      • banners.C (resources/views/banners/C.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.F (resources/views/banners/F.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • partials.sidebar (resources/views/partials/sidebar.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.D (resources/views/banners/D.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • widgets.CorpBlogs (resources/views/widgets/CorpBlogs.blade.php)1blade
        Params
        0
        corp_blogs
      • widgets.Anounce (resources/views/widgets/Anounce.blade.php)1blade
        Params
        0
        anounce
      • widgets.BirthdaysToday (resources/views/widgets/BirthdaysToday.blade.php)1blade
        Params
        0
        birthdays
      • widgets.EditorChoise (resources/views/widgets/EditorChoise.blade.php)1blade
        Params
        0
        editor_choise
      • banners.E (resources/views/banners/E.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • widgets.RandProjectVideo (resources/views/widgets/RandProjectVideo.blade.php)1blade
        Params
        0
        video
      • widgets.MostShared (resources/views/widgets/MostShared.blade.php)1blade
        Params
        0
        most_shared
      • partials.most-shared (resources/views/partials/most-shared.blade.php)5blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        most_shared
      • widgets.MostViews (resources/views/widgets/MostViews.blade.php)1blade
        Params
        0
        most_views
      • partials.most-views (resources/views/partials/most-views.blade.php)5blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        most_views
      • banners.tds.4 (resources/views/banners/tds/4.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • layout (resources/views/layout.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.tds.1 (resources/views/banners/tds/1.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.G (resources/views/banners/G.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      uri
      GET blogs/blogsid_{blogID}
      middleware
      web
      as
      blog
      controller
      App\Http\Controllers\BlogsController@displayBlog
      namespace
      App\Http\Controllers
      prefix
      null
      where
      file
      app/Http/Controllers/BlogsController.php:35-61
      28 statements were executed100.28ms
      • select * from `forbes_data` where `Date` <= '2025-03-08 23:07:40' and `finished` = '1' and `DataID` = '320304' limit 11ms/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 2025-03-08 23:07:40
        • 1. 1
        • 2. 320304
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Data.php:101
        • 14. /app/Http/Controllers/BlogsController.php:37
        • 64. /public/index.php:54
      • select * from `forbes_data_data` where `forbes_data_data`.`DataID` in ('320304')1.08ms/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 320304
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 20. /app/Models/Data.php:101
        • 21. /app/Http/Controllers/BlogsController.php:37
        • 71. /public/index.php:54
      • select * from `forbes_data_images` where `forbes_data_images`.`ImageID` in ('159479')900μs/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 159479
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 27. /app/Models/Data.php:101
        • 28. /app/Http/Controllers/BlogsController.php:37
        • 78. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` in ('159479')760μs/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 159479
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 34. /app/Models/Data.php:101
        • 35. /app/Http/Controllers/BlogsController.php:37
        • 85. /public/index.php:54
      • SELECT * FROM forbes_mlt_index WHERE datatype=1 AND unxtime>=1709921260 AND id<>320304 AND MATCH('ЦОД | да | тот | В | базе | данных | Uptime | Institute | одной | из | самых | авторитетных | сертификационных | организаций | числится | семь | казахстанских | датацентров | Много | мало | И | какие | датацентры | нам | нужны') LIMIT 6 OPTION ranker = sph04,max_matches=6;72.06ms/app/Models/Search.php:56
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 8. /app/Models/Search.php:56
        • 9. /app/Http/Controllers/BlogsController.php:40
        • 59. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '159519' limit 1800μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 159519
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '158228' limit 1630μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 158228
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '159568' limit 1670μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 159568
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160873' limit 1660μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160873
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '159675' limit 1680μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 159675
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160257' limit 1540μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • update `forbes_data_data` set `Views` = `Views` + 1 where `DataID` = '320304'3.45ms/app/Http/Controllers/BlogsController.php:50forbes_base
        Metadata
        Bindings
        • 0. 320304
        Backtrace
        • 15. /app/Http/Controllers/BlogsController.php:50
        • 16. /app/Http/Controllers/BlogsController.php:50
        • 66. /public/index.php:54
      • select * from `forbes_data_authors` where `forbes_data_authors`.`DataID` = '320304' limit 1840μsview::blogs-inner:9forbes_base
        Metadata
        Bindings
        • 0. 320304
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:9
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_authors` where `forbes_authors`.`AuthorID` = '1058' limit 1850μsview::blogs-inner:9forbes_base
        Metadata
        Bindings
        • 0. 1058
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:9
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` = '70110' limit 1830μsview::blogs-inner:64forbes_base
        Metadata
        Bindings
        • 0. 70110
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:64
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_data_social_stats2` where `forbes_data_social_stats2`.`DataID` = '320304' limit 1760μsview::blogs-inner:99forbes_base
        Metadata
        Bindings
        • 0. 320304
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:99
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_prteaser_group` where `url` not in ('sap') and `validfrom` <= '2025-03-08 23:07:41' and `validtill` >= '2025-03-08 23:07:41' limit 5940μs/app/Models/TeaserGroups.php:30forbes_base
        Metadata
        Bindings
        • 0. sap
        • 1. 2025-03-08 23:07:41
        • 2. 2025-03-08 23:07:41
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Models/TeaserGroups.php:30
        • 13. /app/Widgets/CorpBlogs.php:22
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:10
        • 28. view::partials.sidebar:10
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_anounces` order by `AnounceID` desc limit 1730μs/app/Models/Anounces.php:38forbes_base
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        • The SELECT statement has no WHERE clause and could examine many more rows than intended
        Backtrace
        • 13. /app/Models/Anounces.php:38
        • 14. /app/Widgets/Anounce.php:20
        • 20. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 23. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 28. view::partials.sidebar:13
        • 29. view::partials.sidebar:13
        • 35. view::blogs-inner:231
        • 42. /vendor/symfony/http-foundation/Response.php:200
        • 88. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` in ('160604')660μs/app/Models/Anounces.php:38forbes_base
        Metadata
        Bindings
        • 0. 160604
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 20. /app/Models/Anounces.php:38
        • 21. /app/Widgets/Anounce.php:20
        • 27. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 28. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 29. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 30. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 35. view::partials.sidebar:13
        • 36. view::partials.sidebar:13
        • 42. view::blogs-inner:231
        • 49. /vendor/symfony/http-foundation/Response.php:200
        • 95. /public/index.php:54
      • select * from `forbes_bdays` where month(`Bday`) = '3' and day(`Bday`) = '8' order by `Bday` desc650μs/app/Models/Birthdays.php:29forbes_base
        Metadata
        Bindings
        • 0. 3
        • 1. 8
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Birthdays.php:29
        • 13. /app/Widgets/BirthdaysToday.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:16
        • 28. view::partials.sidebar:16
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select `forbes_data_tops`.`DataID`, `forbes_data`.`Date` from `forbes_data_tops` inner join `forbes_data` on `forbes_data_tops`.`DataID` = `forbes_data`.`DataID` and `forbes_data`.`finished` = '1' where `forbes_data_tops`.`StructureID` = '66' and `forbes_data`.`Date` <= '2025-03-08 23:07:41' order by `forbes_data_tops`.`Position` asc limit 1 offset 02.2ms/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. 66
        • 2. 2025-03-08 23:07:41
        Backtrace
        • 12. /app/Models/DataTops.php:103
        • 13. /app/Widgets/EditorChoise.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:19
        • 28. view::partials.sidebar:19
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data_data` where `forbes_data_data`.`DataID` in ('320937')1.7ms/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 320937
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 19. /app/Models/DataTops.php:103
        • 20. /app/Widgets/EditorChoise.php:20
        • 26. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 27. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 28. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 29. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 34. view::partials.sidebar:19
        • 35. view::partials.sidebar:19
        • 41. view::blogs-inner:231
        • 48. /vendor/symfony/http-foundation/Response.php:200
        • 94. /public/index.php:54
      • select * from `forbes_data_images` where `forbes_data_images`.`ImageID` in ('160257')720μs/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 26. /app/Models/DataTops.php:103
        • 27. /app/Widgets/EditorChoise.php:20
        • 33. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 34. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 35. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 36. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 41. view::partials.sidebar:19
        • 42. view::partials.sidebar:19
        • 48. view::blogs-inner:231
        • 55. /vendor/symfony/http-foundation/Response.php:200
        • 101. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` in ('160257')690μs/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 33. /app/Models/DataTops.php:103
        • 34. /app/Widgets/EditorChoise.php:20
        • 40. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 41. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 42. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 43. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 48. view::partials.sidebar:19
        • 49. view::partials.sidebar:19
        • 55. view::blogs-inner:231
        • 62. /vendor/symfony/http-foundation/Response.php:200
        • 108. /public/index.php:54
      • select * from `forbes_video` where `isShow` = '1' and `project` = 'qna' order by RAND() limit 12.05ms/app/Models/Video.php:42forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. qna
        Hints
        • Use SELECT * only if you need all columns from table
        • ORDER BY RAND() is slow, try to avoid if you can. You can read this or this
        Backtrace
        • 12. /app/Models/Video.php:42
        • 13. /app/Widgets/RandProjectVideo.php:24
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:28
        • 28. view::partials.sidebar:28
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data` inner join `forbes_data_social_stats2` on `forbes_data_social_stats2`.`DataID` = `forbes_data`.`DataID` where `Date` >= '2025-03-07 23:07:41' and `AnounceID` is null and `finished` = '1' order by `forbes_data_social_stats2`.`facebook` desc limit 71.1ms/app/Models/Data.php:544forbes_base
        Metadata
        Bindings
        • 0. 2025-03-07 23:07:41
        • 1. 1
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Data.php:544
        • 13. /app/Widgets/MostShared.php:21
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:36
        • 28. view::partials.sidebar:36
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data` inner join `forbes_data_data` on `forbes_data`.`DataID` = `forbes_data_data`.`DataID` where `Date` <= '2025-03-08 23:07:41' and `finished` = '1' and `DataType` = 'articles' and `Date` >= '2025-03-07 23:07:41' order by `forbes_data_data`.`Views` desc limit 71.33ms/app/Models/Data.php:560forbes_base
        Metadata
        Bindings
        • 0. 2025-03-08 23:07:41
        • 1. 1
        • 2. articles
        • 3. 2025-03-07 23:07:41
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Data.php:560
        • 13. /app/Widgets/MostViews.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:46
        • 28. view::partials.sidebar:46
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_video` where `isShow` = '1' and `addDate` >= '2025-03-07 23:07:41' order by `addDate` desc limit 11ms/app/Models/Video.php:71forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. 2025-03-07 23:07:41
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Models/Video.php:71
        • 14. /app/Widgets/BoostVideo.php:21
        • 20. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 23. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 28. view::layout:602
        • 29. view::layout:602
        • 35. view::blogs-inner:265
        • 42. /vendor/symfony/http-foundation/Response.php:200
        • 88. /public/index.php:54
        web
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        api
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
          _token
          YKbqCAJEaMd4T9SL98ENlpTjZHHrNp2CSqAPwiCz
          _previous
          array:1 [ "url" => "https://test.forbes.kz/blogs/blogsid_320304" ]
          PHPDEBUGBAR_STACK_DATA
          []
          format
          html
          content_type
          text/html; charset=UTF-8
          status_text
          OK
          status_code
          200
          request_query
          []
          request_request
          []
          request_headers
          array:25 [ "content-type" => array:1 [ 0 => "" ] "content-length" => array:1 [ 0 => ""...
          request_server
          array:52 [ "TEMP" => "/srv/www/forbes.kz/tmp" "TMPDIR" => "/srv/www/forbes.kz/tmp" "TMP" => "/...
          request_cookies
          []
          response_headers
          array:5 [ "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ ...
          path_info
          /blogs/blogsid_320304
          session_attributes
          array:3 [ "_token" => "YKbqCAJEaMd4T9SL98ENlpTjZHHrNp2CSqAPwiCz" "_previous" => array:1 [ "u...