��������ς���Bigtable��Google App Engine�F���UKey-Value�X�g�A�̖{���uBigtable�v�i3�j�i1/2 �y�[�W�j

RDB�Ƃ͕ʂ́A�N���E�h����̃f�[�^�x�[�X�Ƃ��Ē��ڂ𗁂тĂ���u���UKey-Value�X�g�A�v�B���̖{���Ƃ�������AGoogle�̐��X�̃T�[�r�X�̊�ՋZ�p�uBigtable�v�ɂ‚��ēO����

» 2009�N11��11�� 00��00�� ���J
[�g��a���C�L����ЃX�e�B���n�E�X]

����3000��PV�̑�K�̓T�C�g�̉^�p����z4���~!?

�@����3000��PV�����̖c��ȃg���t�B�b�N���y�X�Ƃ��΂���K�̓T�C�g���A���z4���~��ʼn^�p����Ă���B

�@Google App Engine�i�ȉ��AApp Engine�j�����y����ɂ‚�āA����ȋ����̍���������o�ꂵ�‚‚���܂��BGClue��App Engine��Ŏ�������mixi�A�v�����o�C�����o�C���ɂ́A1��100��PV�ȏ�̃A�N�Z�X���W�����Ă����Ԃł��T�[�r�X�̃��X�|���X�ቺ��_�E���͊F���������ł��B1���̉^�p�R�X�g�i�O�[�O���ւ̎x���������j��$12���x�ŁA�v���O���}�ȊO�ɐ�C�̃T�[�o�Ǘ��҂Ȃǂ͂܂������s�v�Ƃ̂��Ƃł��B

�@��������App Engine�̂����Ⴂ�̃X�P�[���r���e�B��R�X�g�p�t�H�[�}���X�Ƃ������傫�ȁu���l�v�𓾂�ɂ́A�����G���W�j�A�����ꑊ���́u���z�̓]���v���󂯓����K�v������܂��B

�@�O��́u�f�p��Bigtable�A�ł��邱�� �ł��Ȃ������v�ł����������Ƃ���AApp Engine�̒��j���Ȃ��f�[�^�X�g�A�uBigtable�v�́A�u�L�[���w�肵�Ēl��ǂݏ�������v�Ƃ����P���ȋ@�\�����T�|�[�g���Ă��Ȃ����UKey-Value�X�g�A�i���UKVS�j�ł��B���̑f�p�ȃf�[�^�X�g�A�̑傫�Ȑ�����󂯓���A���̂����ŕ��G��Web�A�v���P�[�V�����̃��W�b�N�������ɂ��Ď����ł��邩�H�v���Ă������Ƃ��A���̔��z�̓]���ւ̂͂��߂̈���ƂȂ�܂��B

�J��Ԃ����ABigtable�̌����@�\�́u�X�L�����v����

�@�O������������Ƃ���ABigtable�́A�����[�V���i���f�[�^�x�[�X�iRDB�j�ɂ�����N�G����W���C������؃T�|�[�g���Ă��炸�A�ȉ���2��ނ̋@�\������񋟂��Ă��܂��B

  • �L�[�Ɋ�Â��s��CRUD
  • �L�[�Ɋ�Â��u�X�L�����v

�@�u�L�[�Ɋ�Â��s��CRUD�v�Ƃ́A�X�̍s�Ɋ��蓖�Ă�ꂽ�u�L�[�v���w�肵�āA�s��CRUD�i�lj��A�擾�A�X�V�A�폜�j���s�����Ƃł��B����A�u�L�[�Ɋ�Â��X�L�����v�Ƃ́A�L�[�̑O����v�����A�������́A�͈͎w�茟���ɂ��A�����̍s���ꊇ�擾����@�\�ł��B

}1@uL[ɂXLv̗ �}1�@�u�L�[�ɂ��X�L�����v�̗�

�@�Ⴆ�Ώ�L�́u�X�L�����̗�1�v�ł́A�e�[�u���uEmp�v�ɑ΂��āA�L�[���u02�v�Ŏn�܂�s��O����v�����ŃX�L�������A�u�R�c�v�u��؁v�Ƃ���2�s���擾���Ă��܂��B�܂��u�X�L�����̗�2�v�ł́A�L�[���u040�v����u070�v�܂ł̍s��͈͎w�茟���ŃX�L�������A�u�g��v�u��c�v��2�s�𓾂Ă��܂��B

�@Bigtable��������B��̌����́A���̃X�L���������ł��B�‚܂�A�l�������Ƃ��������͈�؎��s�ł��܂���BBigtable�ɂ‚��Ċw�юn�߂������A�M�҂́u����łǂ�����ăA�v���P�[�V�������W�b�N�������̂��낤�v�ƔY�݂܂����B�������AApp Engine�ł́A���̖₢�ɓ�����\�����[�V������񋟂��Ă��܂��B����́ABigtable���RDB���C�N�ȃN�G���@�\����������uDatastore�T�[�r�X�v�ł��B

Datastore�T�[�r�X��3�‚�API

�@Datastore�T�[�r�X�Ƃ́AApp Engine��œ��삷��Python��������Java�A�v���P�[�V������Bigtable�ɃA�N�Z�X���邽�߂̃T�[�r�X�ł���A��Ɉȉ���3�‚̋@�\��񋟂��܂��B

  1. �L�[�Ɋ�Â��G���e�B�e�B��CRUD
  2. �G���e�B�e�B�ɑ΂���N�G��
  3. ���G���e�B�e�B��ΏۂƂ����g�����U�N�V������ACID�ۏ�

�@�����Łu�G���e�B�e�B�v�Ƃ́APython��Java�̌X�̃I�u�W�F�N�g��ۑ�����Bigtable�̍s��\���܂��BDatastore�T�[�r�X�ł́A���̃G���e�B�e�B�ɑ΂��ăL�[�Ɋ�Â�CRUD���”\�ł��B�����āARDB���C�N�ȁu�N�G���v�ɂ��G���e�B�e�B�̌��������s�ł���̂��d�v�ȃ|�C���g�ł��BApp Engine��Java�ł̏ꍇ�A������Datastore�T�[�r�X�̋@�\�́A�ȉ���3�‚�API��ʂ��ė��p�ł��܂��B

  1. JDO�iJava Data Objects�j
  2. JPA�iJava Persistence API�j
  3. �჌�x��API�iLow-level API�j

�@�����̂����A�uJDO�v����сuJPA�v�́AJCP�iJava Community Process�j��ʂ��č��肳�ꂽ�W���̃f�[�^�i����API�ł��B�Ƃ͂����AJDO��JPA�̋@�\���t���������Ă���킯�ł͂Ȃ��A�����܂ŁuBigtable�Ŏ����ł���@�\�̂ݕW��API�ɍ��킹�Ē񋟂��Ă���v�Ƃ������ʒu�t���ł��B

�@����A�჌�x��API�i�ȉ��ALL�j��App Engine�Ǝ���API�ł���A�ق���2�‚�API�ɔ�ׂĂ��g���́hBigtable�ɋ߂��@�\��񋟂��܂��i�Ȃ��A�ȉ��ł�JDO�Ɋ�Â��Đ����𑱂��܂����A�����3�‚�API�̂������I�����ׂ����ɂ‚��ẮA�{�e�Ō�̏����������������j�B

�L�[�Ɋ�Â��s��CRUD

�@���āA1�‚߂̋@�\�ł���u�L�[�Ɋ�Â��G���e�B�e�B��CRUD�v�́A��ɋL����Bigtable�́u�L�[�ɂ��s��CRUD�v�Ɠ����@�\�ł��B�ȉ��́AJDO�ɂ��G���e�B�e�B�ۑ��̋L�q��ł��B

PersistenceManager pm = PMF.get().getPersistenceManager();
Emp e = new Emp("�R�c", 18, "D5");
try {
    pm.makePersistent(e);
} finally {
    pm.close();
}

�@���̗�̂悤�ɁAPersistentManager�N���X��makePersistent()���\�b�h�ɑ�����close���\�b�h���Ăяo�����ƂŁAJava�I�u�W�F�N�g�ł���Emp��Bigtable��1�s�Ƃ��ĕۑ��ł��܂��B���Ȃ݂ɁA��������CRUD�����ɗv���镽�ώ��Ԃ͐�10ms���x�ŁA�O����������Ƃ���A���Ƃ����疜���̃G���e�B�e�B���ۑ�����Ă��Ă��������Ԃ͕ω����܂���B

�@�܂�Bigtable�ł́AACID�����̕ۏ��͈̔͂��s�P�ʂł������̂ɑ΂��ADatastore�T�[�r�X�ł́u�G���e�B�e�B�E�O���[�v�v�ƌĂ΂�镡���̃G���e�B�e�B�̏W�܂��ΏۂƂ���ACID�����̕ۏ؂��”\�ł��B����āA�Ⴆ�΁uDept�G���e�B�e�B�v�ƁuEmp�G���e�B�e�B�v�𓯂��G���e�B�e�B�E�O���[�v�Ɋ܂߂Ă����΁A�g�����U�N�V�����̋������ł��s�����̔�����h�����Ƃ��ł��A��ʓI��RDB�Ɠ����̐M�������m�ۂł��܂��B

Datastore�T�[�r�X�́u�N�G���v

�@Datastore�T�[�r�X�̂���1�‚̋@�\�ł���u�N�G���v�Ƃ́A�G���e�B�e�B�̃v���p�e�B�i�t�B�[���h�j�̒l�������Ƃ��錟���@�\�ł��B�ȉ��́AJDO��p���ăN�G�������s����R�[�h�̗�ł��B

uery query = pm.newQuery("select from Emp " +                              "where age >= _startAge & age <= _endAge " +                              "order by age asc " +                              "parameters int _startAge, int _endAge")List<Emp> results = (List<Emp>) query.execute(20, 40);

�@���̗�ł́AJDO����߂�SQL���C�N�ȃN�G������ł���uJDOQL�v�ŃN�G���������L�q���AQuery�I�u�W�F�N�g��execute()���\�b�h���Ăяo���ăN�G�������s���Ă��܂��B��L�̃N�G���́uage�v���p�e�B��20�`40��Emp�G���e�B�e�B�ꗗ���擾���Aage�v���p�e�B�̏����Ń\�[�g����v�Ƃ����Ӗ��ł��B���������N�G���́A�ʏ�150�`200ms���x�̎��Ԃŏ�������܂��B

�@���̂悤�ɁA�ꌩ�����Datastore�ł�RDB�̂悤�ȁu�e�[�u���̃J�����l�������Ƃ��������v�����s�ł��Ă���悤�Ɍ����܂��B�������J��Ԃ����������Ƃ���ABigtable�͂����܂Łu�X�L�����v�������s�ł��܂���B���̊Ԃ𖄂߂�J�M���A�u�V���O���v���p�e�B�C���f�b�N�X�v�ł��B���y�[�W�ʼn�����܂��B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B