08 PPTX, 1 МБ

advertisement
Инфоблоки vs Хайлодблоки.
Смирнов Максим
Ведущий программист
«1С-Битрикс»
История модуля инфоблоков
2003
2004
2005
2006
• 3.0.8 2003-04-11 Документооборот
• 3.1.3 2003-09-10 Множественные свойства, файлы и списки.
• 3.2.1 2003-12-15 Символьные коды
• 3.3.5 2004-02-10 Числовые свойства
• 4.0.0 2004-12-07 Многосайтовость и компоненты.
• 4.0.6 2005-08-24 Добавлены события
• 4.1.0 2006-02-10 Поддержка MSSQL
• 5.0.0 2006-05-12 Экспорт/Импорт CSV. Новая админка.
• 5.1.0 2006-10-06 Инфоблоки+, пользовательские типы свойств
История модуля инфоблоков
2007
• 5.9.0 2007-03-19 Компоненты 2.0
• 6.0.3 2007-07-27 Пользовательские свойства разделов
• 6.5.2 2007-09-14 Облако тегов и xml экспорт/импорт
2008
• 6.5.5 2007-10-30 Обмен с 1С.
• 7.0.7 2008-07-09 Настройка форм редактирования
• 7.1.6 2009-01-13 Добавились новые сортировки элементов.
2009
• 8.0.6 2009-06-08 Автолоад классов модуля
• 8.5.0 2009-10-02 SEO оптимизация компонентов и бизнес процессы
• 8.5.6 2009-12-14 Сложная логика
2010
• 8.6.2 2010-02-26 Добавлен параметр nElementID
• 9.0.5 2010-08-20 Управляемое кеширование в компонентах
• 9.5.0 2010-09-30 «Эрмитаж»
История модуля инфоблоков
2011
2012
2013
2014
• 10.0.0 2011-03-03 Поддержка SKU
• 11.0.0 2011-09-20 Поддержка облачных хранилищ.
• 11.0.5 2011-11-21 Расширенные права
• 11.5.0 2012-05-13 Подсказки для свойств
• 12.0.0 2012-10-13 catalog.smart.filter
• 12.5.0 2013-03-16 Вкладка «Торговый каталог»
• 14.0.0 2013-10-17 Вычисляемые наследуемые свойства
• 14.0.6 2014-01-13 Новые шаблоны компонентов каталога
• 14.5.0 2014-04-08 Поддержка композита
600000
500000
400000
300000
200000
100000
0
intranet
socialnetwork
statistic
sale
blog
photogallery
catalog
extranet
support
bizproc
calendar
advertising
timeman
subscribe
wiki
controller
perfmon
report
idea
socialservices
ldap
cluster
bitrixcloud
bizprocdesigner
scale
highloadblock
rest
Объём обновлений (кб)
450792 main
197516 iblock
1140
Churn инфоблоков
120000
100000
80000
60000
40000
20000
0
2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
Churn хайлодблоков
3000
2500
2000
1500
1000
500
0
2012
2013
2014
Сравнение
Свойство
Инфоблоки
Хайлодблоки
Админка
да
да
Права доступа
да
нет
Разделы
да
нет
Набираемые свойства
да
да
Компоненты
да
да
Интеграция с поиском
да
нет
Интеграция с каталогом
да
нет
Бизнес процессы
да
нет
События
да
да
ORM
нет
да
Добавление 200К элементов
20.00
18.00
16.00
14.00
12.00
10.00
8.00
6.00
4.00
2.00
0.00
highloadblock (3m 16s)
iblock (25m 13s)
news.list vs highloadblock.list
bitrix:news.list: 2.4751 с;
Запросов: 15 (2.3896 с)
bitrix:highloadblock.list: 0.0168 с;
Запросов: 5 (0.0005 с)
SELECT
BE.ID as ID
,BE.IBLOCK_ID as IBLOCK_ID
,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID
,BE.NAME as NAME
,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'),
DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM
,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL
,BE.DETAIL_TEXT as DETAIL_TEXT
,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE
,BE.PREVIEW_TEXT as PREVIEW_TEXT
,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE
,BE.PREVIEW_PICTURE as PREVIEW_PICTURE
,L.DIR as LANG_DIR
,BE.SORT as SORT
,BE.CODE as CODE
,BE.XML_ID as EXTERNAL_ID
,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID
,B.CODE as IBLOCK_CODE
,B.XML_ID as IBLOCK_EXTERNAL_ID
,B.LID as LID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE
1=1 AND (
((((BE.IBLOCK_ID = '52'))))
AND (EXISTS (
SELECT IBLOCK_ID
FROM
b_iblock_site
WHERE
IBLOCK_ID = B.ID AND (((SITE_ID='s1')))
))
AND ((((BE.ACTIVE='Y'))))
AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL)
AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL)))
)
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ID desc ,BE.SORT asc
LIMIT 0, 20
SELECT
`news`.`ID` AS `ID`
,`news`.`UF_NAME` AS `UF_NAME`
,`news`.`UF_PREVIEW_TEXT` AS
`UF_PREVIEW_TEXT`
,`news`.`UF_DETAIL_TEXT` AS
`UF_DETAIL_TEXT`
FROM
`news` `news`
ORDER BY
`news`.`ID` DESC
LIMIT 0, 20
Highloadblock 14.5.0
Highloadblock 14.5.0: Фильтр
Highloadblock 14.5.0: Групповые операции
Редактирование
Удаление
Highloadblock 14.5.0:
Поддержка множественных значений
Поддержка всех пользовательских типов
Highloadblock планы:
Импорт/экспорт.
Поддержка прав.
Доработка компонентов и шаблонов.
Интеграция с модулем поиска.
Упрощённая поддержка NoSql без требования
дополнительных библиотек.
NoSql на запись и чтение по первичному ключу.
Инфоблоки планы:
ORM
Производительность компонентов и админки
Расширение АПИ
Выборка значений свойств
Выборка из нескольких инфоблоков+
ООП в компонентах
CIBlockElement::GetList
Поддержка фильтрации и и сортировки по ценам с
учётом валют.
Поддержка сортировки по ценам и наличию
торговых предложений
Сравнение по планам
Свойство
Инфоблоки
Хайлодблоки
Админка
да
да
Права доступа
да
не расширенные
Разделы
да
нет
Набираемые свойства
да
да
Компоненты
да
да
Интеграция с поиском
да
да
Интеграция с каталогом
да
нет
Бизнес процессы
да
нет
События
да
да
ORM
да
да
Выводы
Инфоблоки:
Очень мощный с богатым функционалом
Хорошо документирован и много примеров
Динамично развивается вместе с продуктом
Хайлодблоки:
ООП с основанием на D7
Намного быстрее инфоблоков
Поддержка noSql
Спасибо за внимание!
Вопросы?
Twitter: @qMBQx8GH
Skype: mv.smirnov
E-mail: max@bitrix.ru
Download