В системах РСУБД я могу добавлять новые столбцы, даже если в таблице уже есть данные. Интересно, как это предлагается сделать с постоянным хранилищем Ignite при хранении объектов класса?
Если у меня есть следующий класс с большим количеством данных:
public class Person implements Serializable
{
@QuerySqlField
String firstName;
@QuerySqlField
String lastName;
}
А позже я, возможно, захочу добавить в этот класс новые поля, например
public class Person implements Serializable
{
@QuerySqlField
String firstName;
@QuerySqlField
String lastName;
@QuerySqlField
Date birthday;
}
Могу ли я без проблем поставить и получить старые и новые версии этого класса? Что происходит с новым значением поля, когда я читаю старую версию класса из постоянного хранилища?
Как будут работать SQL-запросы, если день рождения столбца недоступен в старых версиях данных?
Спасибо за любые предложения.