Что но­во­го в MYSQL 8.0

В сле­ду­ю­щую вер­сию по­пу­ляр­ной СУБД с от­кры­тым ко­дом вой­дут улуч­шен­ная под­держ­ка Unicode, JSON и управ­ле­ния до­ку­мен­та­ми, а так­же дол­го­ждан­ные окон­ные функ­ции

Computerworld - - Технологии/программное Обеспечение - Сер­дар егу­лалп Infoworld, США

Для по­пу­ляр­ной СУБД с от­кры­тым ко­дом MYSQL, став­шей стан­дарт­ным эле­мен­том мно­гих сте­ков веб-при­ло­же­ний, вы­пу­щен пер­вый ва­ри­ант Release Candidate вер­сии 8.0. В MYSQL 8.0 по­явят­ся сле­ду­ю­щие воз­мож­но­сти: под­держ­ка Unicode 9.0 без необ­хо­ди­мо­сти уста­нов­ки ка­ких-ли­бо до­пол­ни­тель­ных ком­по­нен­тов; функ­ции Windows и ре­кур­сив­ный син­так­сис SQL для тех за­про­сов, для ко­то­рых ра­нее это счи­та­лось невоз­мож­ным или ре­а­ли­зо­вы­ва­лось с боль­шим тру­дом; рас­ши­рен­ная под­держ­ка на­тив­ных дан­ных JSON и функ­ций хра­не­ния до­ку­мен­тов.

В вер­сии 8.0 MYSQL по­сле­до­ва­тель­ная ну­ме­ра­ция на­ру­ше­на (преды­ду­щая вер­сия име­ла но­мер 5.5), по­сколь­ку от 6.0 ре­ше­но бы­ло от­ка­зать­ся, а 7.0 бы­ла за­ре­зер­ви­ро­ва­на для кла­стер­ной вер­сии MYSQL.

Пе­ре­ход на ко­ди­ров­ку Unicode по умол­ча­нию — од­но из наи­бо­лее се­рьез­ных из­ме­не­ний из чис­ла за­пла­ни­ро­ван­ных. Про­бле­мы с Unicode у MYSQL на­блю­да­ют­ся уже дав­но, и раз­ра­бот­ка MYSQL 8.0 при­зва­на устра­нить как мож­но боль­ше су­ще­ству­ю­щих несты­ко­вок.

Ко­ди­ров­ка latin1 боль­ше не бу­дет ис­поль­зо­вать­ся в MYSQL по умол­ча­нию, что долж­но из­ба­вить но­вых поль­зо­ва­те­лей от уна­сле­до­ван­ных про­блем. Ре­ко­мен­до­ван­ной ко­ди­ров­кой по умол­ча­нию для MYSQL 8.0 се­год­ня яв­ля­ет­ся utf8mb4, обе­ща­ю­щая уве­ли­чить про­из­во­ди­тель­ность по срав­не­нию с уста­рев­шим ныне на­бо­ром сим­во­лов utf8mb3 и обес­пе­чить бо­лее гиб­кую сор­ти­ров­ку и чув­стви­тель­ность к ре­ги­стру.

Улуч­шен­ный ва­ри­ант Unicode бу­дет под­дер­жи­вать не толь­ко за­пад­ные на­бо­ры сим­во­лов, но и все про­чие, вклю­чая на­би­ра­ю­щий по­пу­ляр­ность на­бор emoji.

окон­ные функ­ции

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

8.0 окон­ные функ­ции, ре­а­ли­зо­ван­ные с по­мо­щью стан­дарт­ной кон­струк­ции SQL OVER. Ана­ло­гич­ным об­ра­зом эти функ­ции пред­став­ле­ны и в кон­ку­ри­ру­ю­щих про­дук­тах, в том чис­ле в Postgresql.

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

улуч­ше­ние ра­бо­ты с до­ку­мен­та­ми и JSON

Под­держ­ка JSON по­яви­лась в вер­сии MYSQL 5.7, сде­лав MYSQL кон­ку­рен­то­спо­соб­ной в со­пер­ни­че­стве с СУБД NOSQL, ко­то­рые ра­бо­та­ли с JSON из­на­чаль­но. В MYSQL 8.0 под­держ­ка JSON бы­ла рас­ши­ре­на: про­из­во­ди­тель­ность вы­рос­ла, по­яви­лись функ­ции, поз­во­ля­ю­щие из­вле­кать из за­про­са JSON диа­па­зо­ны (как это сде­ла­но в за­про­се ти­па top N), а так­же но­вые аг­ре­ги­ро­ван­ные функ­ции, объ­еди­ня­ю­щие в за­про­се струк­ту­ри­ро­ван­ные дан­ные MYSQL и по­лу­струк­ту­ри­ро­ван­ные JSON.

С под­держ­кой JSON свя­за­ны и но­вые воз­мож­но­сти хра­не­ния до­ку­мен­тов. Опе­ра­ции чте­ния и за­пи­си в хра­ни­ли­ще до­ку­мен­тов MYSQL со­гла­со­ва­ны в рам­ках тран­зак­ции, что поз­во­ля­ет «от­ка­тить» опе­ра­ции и от­ме­нить из­ме­не­ния в дан­ных JSON. Дан­ные о ме­сто­по­ло­же­нии, хра­нив­ши­е­ся в от­кры­том фор­ма­те GEOJSON, мож­но ин­дек­си­ро­вать, бла­го­да­ря че­му по­иск осу­ществ­ля­ет­ся в том чис­ле и по кри­те­рию бли­зо­сти рас­по­ло­же­ния.

Newspapers in Russian

Newspapers from Russia

© PressReader. All rights reserved.