
- TOP
- ã¿ã°äžèЧ
- Fintech
Fintech
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
æ¬èšäºã¯ 2025 幎 5 æ 19 æ¥ã«å
¬éããã How Amazon maintains accurate totals at scale with Amazon DynamoDB ã翻蚳ãããã®ã§ãã翻蚳㯠Solutions Architect ã®å¶ç° æ±éãæ
åœããŸããã Amazon ã® Finance Technologies Tax ããŒã (FinTech Tax) ã¯ãäžçäžã®æ³åã§çšé¡èšç®ãçšé¡æ§é€ãçŽä»ãå ±åãšãã£ãéèŠãªãµãŒãã¹ã管çããŠããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãè€æ°ã®åœéããŒã±ãããã¬ã€ã¹ã§å¹Žéæ°ååä»¶ã®ååŒãåŠçããŠããŸãã ãã®æçš¿ã§ã¯ FinTech Tax ããŒã ã Amazon DynamoDB ã®ãã©ã³ã¶ã¯ã·ã§ã³ãšæ¡ä»¶ä»ãæžã蟌ã¿ã䜿çšããŠã段éçãªæºæ³åŸŽåãå®è£
ããæ¹æ³ã玹ä»ããŸãã ãããã® DynamoDB ã®æ©èœã䜿çšããããšã§ãæ¡åŒµæ§ãšå埩åãããã€ãã³ãé§åã®çšé¡èšç®ãµãŒãã¹ãæ§ç¯ããå€§èŠæš¡ã§ãããªç§ã¬ãã«ã®ã¬ã€ãã³ã·ãŒãå®çŸããŸããã ãŸããäžè²«ããããã©ãŒãã³ã¹ãå®çŸããªãããããŒã¿ã®æ£ç¢ºæ§ãå³å¯ã«ç¶æããããã®èšèšäžã®æ±ºå®ãšå®è£
ã®è©³çްã«ã€ããŠãæ¢ããŸãã èŠä»¶ Amazon ã¯è€æ°ã®æ³åã«ãŸãããè€éãªãã£ã³ãã㯠(éèæè¡) åéã®çšå¶ç°å¢ã§äºæ¥ãè¡ã£ãŠãããããŸããŸãªæºæ³åŸŽåçšã®èŠä»¶ã管çããå¿
èŠããããŸããå瀟ã«ã¯ãèšå€§ãªååŒéãåŠçã§ããå
ç¢ãªçšåŠçãœãªã¥ãŒã·ã§ã³ãå¿
èŠã§ãããã®ã·ã¹ãã ã¯ãæ¯æ¥æ°çŸäžä»¶ã®ååŒããªã¢ã«ã¿ã€ã ã§åŠçããå人ããšã®çޝç©ååŒé¡ã®æ£ç¢ºãªèšé²ãæºæ³åŸŽåçšèšç®ã®ããã«ç¶æããå¿
èŠããããŸããäž»ãªèŠä»¶ã«ã¯ã段éçãªæºæ³åŸŽåçšçãæ£ç¢ºã«é©çšããããšãããã³ Amazon ã®æ¢åã·ã¹ãã ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãå«ãŸããŸãããã®ãœãªã¥ãŒã·ã§ã³ã¯ããŒã¿ã®æŽåæ§ãšé«å¯çšæ§ãç¶æããããŸããŸãªæºæ³åŸŽåçšå¶åºŠã«å¯ŸããèŠå¶éµå®ããµããŒãããå¿
èŠããããŸãã èª²é¡ äž»ãªèª²é¡ã¯äžçäžã®è€éã«çµ¡ã¿åã£ãçšæ³ã«å³å¯ã«æºæ ããããšã«ãããŸããç¹ã«ã段éç課çšã¢ãã«ã§ã¯ãå人ã®ç·ååŒé¡ã財å幎床å
ã®ç¹å®ã®éŸå€ãè¶
ãããã©ããã«åºã¥ããŠãç°ãªãæºæ³åŸŽåçšçãé©çšãããŸããå人ã®çޝç©ååŒé¡ãå¢å ãããããããå®çŸ©ãããéŸå€ãè¶
ãããšããã®ååŒã«é©çšãããæºæ³åŸŽåçšçã倿ŽãããŸããäŸãã°ãç·é¡ã 100,000 ã€ã³ãã«ã㌠(INR) ã«éãããŸã§ã¯äœãçšçãé©çšããããã®éŸå€ãè¶
ãããšãããé«ãçšçãé©çšãããŸãã æ¬¡ã®å³ã¯ã环ç©ååŒéé¡ã®éŸå€ã«åºã¥ããŠçšçãæ®µéçã«å€åããæ§åã瀺ããã3 段éã®çšçã¢ãã«ã瀺ããŠããŸãã æ®µéç課çšã¢ãã«ã®èª²é¡ã¯ãæºæ³åŸŽåã«ã€ããŠãªã¢ã«ã¿ã€ã ã®èšç®ãè¡ããªãããåå人ã®çޝèšååŒé¡ãæ£ç¢ºã«è¿œè·¡ã»èšé²ç®¡çããããšã«ãããŸãã Amazon 㯠1 æ¥ã«æ°çŸäžä»¶ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåŠçããªããã°ãªããŸããã ããã«ãæ£ã®ååŒã»è² ã®ååŒïŒäŸïŒãã©ã¹ãŸãã¯ãã€ãã¹ã®äŒèšèª¿æŽïŒã«é¢ããããæ£ããæºæ³åŸŽåçšçããªã¢ã«ã¿ã€ã ã§é©çšããããšãæ±ããããŸãã ããã«ã¯é«ãååŒé (å人ãããçŽ 150 ãã©ã³ã¶ã¯ã·ã§ã³/ç§) ãåŠçããªãããæ£ç¢ºãªèšé²ãç¶æã§ããã·ã¹ãã ãå¿
èŠã§ãã ãœãªã¥ãŒã·ã§ã³ã®æŠèŠ æ¬¡ã®å³ã¯ Amazon ã®æºæ³åŸŽåçšèšç®ãµãŒãã¹ã®å
šäœã¢ãŒããã¯ãã£ã§ãã ã¯ãŒã¯ãããŒã¯ä»¥äžã®ã¹ãããã§æ§æãããŠããŸã: ã¯ã©ã€ã¢ã³ãã Amazon API Gateway ã«æºæ³åŸŽåçšèšç®ãªã¯ãšã¹ããéä¿¡ããŸãã API Gateway ãçšé¡èšç® (Tax Computation) AWS Lambda ãåŒã³åºããŸãã çšé¡èšç® Lambda 颿°ããDynamoDB ã®å人ã®çޝç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ïŒCumulative Transaction StoreïŒããŒãã«ãååŸããŸãã环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ããŒãã«ã¯éå»ã®çޝèšå€ãããšã«ããŠãŒã¶ãŒããšã®çޝç©ååŒéé¡ããªã¢ã«ã¿ã€ã ã§ç®¡çããŸããããã«ãããæ®µéçãªçšçãé©çšããããã®å人ã®çޝç©ååŒéé¡ã®åèšãæ£ç¢ºã«è¿œè·¡ã§ããŸãã Lambda 颿°ã¯ååŒã®è©³çްãšå人ã®çޝèšéé¡ã«åºã¥ããŠãã«ãŒã«ãšã³ãžã³ã©ã€ãã©ãªããé©çšãããçšçãååŸããŸããååŸããçšçãšååŒããŒã¿ãããšã«ãçšé¡ãèšç®ãããŸãã èšç®çµæã¯ååŒããŒã¿ã®ç£æ»ãšå±¥æŽç®¡çã®ããã« DynamoDB ã®ååŒç£æ»ã¹ã㢠(Transaction Audit Store) ã«æ ŒçŽãããŸãã çŸåšã®ååŒéé¡ãããšã«ãå人ã®çޝç©ååŒéé¡ã环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ã«æŽæ°ãããŸãã DynamoDB æäœäžã«çºçããäžæçãªãšã©ãŒ (äŸ: ConditionalCheckFailed ã TransactionConflict ) ã¯ã Amazon Simple Queue Service (Amazon SQS) ãã¥ãŒã«éãããå詊è¡ãããŸãã ã¯ã©ã€ã¢ã³ããšã©ãŒ (400 Validation Exceptionã401 Unauthorizedã403 Forbidden ãªã©) ãæ°žç¶çãªãµãŒããŒé害ã«ãããšã©ãŒã¯ãSQS DLQ ã§åŠçãããŸãã å®è£
äžã®èæ
®äºé
ãã©ã³ã¶ã¯ã·ã§ã³ãåä¿¡ãããšãã·ã¹ãã ã¯ã«ãŒã«ãšã³ãžã³ããå°åºãããéŸå€ã«å¯ŸããŠå人ã®çޝç©ååŒé¡ãè©äŸ¡ããŠãé©çšãããçšçã倿ããŸãããã®åŸã环ç©ååŒéé¡ã¯çޝç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ã«æŽæ°ãããç£æ»èšŒè·¡ãèšé²ãããŸãã è€æ°ã®ã¹ã¬ãããåäžå人ã®ããŒã¿ããŒã¹ãåæã«æŽæ°ããããšãããšãç«¶åãçºçããŸããäžè¬ç㪠楜芳çæä»å¶åŸ¡ (OCC) ã®ææ³ã¯ã环ç©å€ãèªã¿åããæå®ç¯å²ã®å€ã«å¯Ÿããçšçãèšç®ãã环ç©å€ãèªã¿åã以é倿ŽãããŠããªããšããæ¡ä»¶ä»ãã§ãã©ã³ã¶ã¯ã·ã§ã³ãæžã蟌ã¿ãŸããããå€ã倿ŽãããŠããå Žåã¯ã«ãŒãã®æåããåŠçãããçŽããŸãã ãã©ãã£ãã¯ãå€ãå Žåããã®åå®è¡ãé »ç¹ã«çºçããå¯èœæ§ããããŸãã ç§ãã¡ã®ã¢ãããŒãã¯ãäžè¬ç㪠OCC ãã¿ãŒã³ãæ¹è¯ãããã®ã§ããæ¡ä»¶ã®å€å®ãã环ç©å€ãæåã«èªã¿åã£ãæç¹ã®ç¯å²å
ã«çãŸã£ãŠããããã®ã¿ã«çµã£ãŠããŸãã 环ç©å€ãå€åããŠãããã®å€ãéŸå€ãè¶
ããªãéããã«ãŒããåå®è¡ããå¿
èŠã¯ãããŸããã ãã®æ¹æ³ã«ãããæ¡ä»¶ã®äžäžèŽãå°ãªããªããããã¹ã«ãŒããããäžãããŸããå人ã®çޝç©å€ãããé«ãç¯å²ã«ç§»è¡ããå Žåã¯ãæžãèŸŒã¿æäœã倱æããŸãã ãã®å Žåã¯ãæŽæ°ãããå€ãããšã«ãèªã¿åããšæžã蟌ã¿ãå詊è¡ããå¿
èŠããããŸãã OCC æŠç¥ãšã¯ç°ãªãããã®ã¢ãããŒãã§ã¯æåŸã®èªã¿åã以éã«å€ãå€åããŠããŠãåŠçãæåããŸããããã«ãããç«¶åãæå°éã«æããã¹ã«ãŒããããåäžãããããšãã§ããŸãã忿޿°ïŒçޝç©åèšãéŸå€ãè¶
ããã±ãŒã¹ïŒã«ãã£ãŠæ¡ä»¶ä»ãæžã蟌ã¿ã倱æãã ConditionalCheckFailedException ãçºçããããšããããŸãããããã¯æ³å®ãããåäœã§ãããããŒã¿ã®äžæŽåã瀺ããã®ã§ã¯ãããŸããã äžæçãªãšã©ãŒãåŠçããåããã©ã³ã¶ã¯ã·ã§ã³ã®éè€åŠçãé²ãããã«ãã¯ã©ã€ã¢ã³ãèŠæ±ããŒã¯ã³ (Client Request Token, CRT) ãå«ãã TransactWriteItems æäœãå®è¡ããããšã§ãã€ã³ã¯ãªã¡ã³ãæäœãåªçæ§ã®ããç¶æ
ã§è¡ããŸãã TransactionCanceledException ã¯ã ãšã¯ã¹ããã³ã·ã£ã«ããã¯ãªã ãªã©ã®ãšã©ãŒåŠçã¡ã«ããºã ã§åŠçãããŸãã ãã®æŠç¥ã®çµã¿åããã«ãããã·ã¹ãã ã¯ããŒã¿ã®æŽåæ§ãç¶æããªãããé«ãã¹ã«ãŒããããšã¹ã±ãŒã©ããªãã£ãå®çŸã§ããŸãã è€éãªããã¯æ©æ§ãäžèŠã«ãªããåŸæ¥ã®OCCãœãªã¥ãŒã·ã§ã³ãšæ¯ã¹ãŠå¹çæ§ãåäžããŸãããŸããå€§èŠæš¡ãªèšå®ããã¥ãŒãã³ã°ãå¿
èŠãšãããããŸããŸãªãã©ã³ã¶ã¯ã·ã§ã³éãåæå®è¡ã¬ãã«ã«æè»ã«å¯Ÿå¿ã§ããã髿§èœãªãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã 环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã㢠环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ããŒãã«ã¯ãç¹å®ã®å人ã®ååŒéé¡ã®çޝç©åãç¶æããããã«äœ¿çšãããŸãã以äžã®ããŒã¿ã¢ãã«ã䜿çšããŸã: { "indvidual_id": { "S": "TIN1" // 环ç©åèšã管çããåäœãšãªãäžæèå¥å }, "cumulative_amount_consumed": { // 䜿çšãããéé¡ã®çޝç©åèšã衚ã "N": "0" } } çšæ§é€å¯Ÿè±¡åç®ã®åšåº«ç®¡ç çšé¡æ§é€ç£æ»ã¹ãã¢ïŒTax Deduction Audit StoreïŒããŒãã«ã¯ãåååŒã®çšæ§é€çã®ç£æ»èšé²ãä¿åããããã«äœ¿çšãããŸãã以äžã®ããŒã¿ã¢ãã«ã䜿çšããŸã: { "transaction_primary_key": { "S": "XXX111#2024-01-01T13:05:28" // ãã©ã³ã¶ã¯ã·ã§ã³ã®äžæèå¥å(PartitionKey#SortKey) }, "transaction_amount": { "S": "1000". //ãã©ã³ã¶ã¯ã·ã§ã³å
šäœã®éé¡ }, "transaction_tax_amount": { "S": "100". //æ§é€ãããçšé¡ }, "transaction_tax_rate":{ "S":"10". //ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã«é©çšãããçšç(ããŒã»ã³ã衚èš) } ... } æ¡ä»¶ä»ãæžã蟌ã¿ã®ã³ãŒã 次ã®ã³ãŒã㯠dynamodb.transact_write_items() ã䜿çšããŠã环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ãšååŒç£æ»ã¹ãã¢ã® 2 ã€ã® DynamoDB ããŒãã«ã«ãŸãããã¢ãããã¯ãªæ¡ä»¶ä»ãæžãèŸŒã¿æäœã瀺ããŠããŸãã环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ããæ¢åã®ã¬ã³ãŒããååŸããçŸåšã®ååŒéé¡ãšæ¢åããŒã¿ã«åºã¥ã㊠cumulative_amt_consumed ïŒçŽ¯ç©æ¶è²»éé¡ïŒã®æŽæ°å€ãèšç®ããŸããåæã«ãååŒç£æ»ã¹ãã¢ã«æ°ããã¬ã³ãŒããèšé²ããIDãå€ãçšé¡ãçšçãªã©ã®ãã©ã³ã¶ã¯ã·ã§ã³è©³çްãèšé²ããŸãã transact_write_items() ã¡ãœããã¯ãååŒãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ããŒãã«ãžã®æŽæ°æäœãšååŒç£æ»ã¹ãã¢ããŒãã«ãžã® put æäœã 1 ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãšããŠå®è¡ããŸãã 2 ã€ã®æäœããšãã«æåããã°ãäž¡æ¹ã®ããŒãã«ã«å€æŽãã³ããããããŸããããã§ãªãå Žåã¯ããã©ã³ã¶ã¯ã·ã§ã³å
šäœãããŒã«ããã¯ãããããŒã¿ã®æŽåæ§ãä¿ãããŸãã SAMPLE_TIN = 'TIN1' # 环ç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ã«ãããäžæã®èå¥åã衚ã SAMPLE_AMOUNT = 5000 # transact_write_items ã§åŠçããã売äžå€ã衚ã SAMPLE_TRANSACTION_ID = 'XXX111' DEFAULT_TAX_RATE = 10 # æ¢å®ã®çšç(ããŒã»ã³ããŒãžå€) LOWER_TAX_RATE = 5 # äœãæ¹ã®çšç(ããŒã»ã³ããŒãžå€) RETRYABLE_ERRORS = ( 'TransactionConflictException', 'ConditionalCheckFailedException', 'ProvisionedThroughputExceededException', 'ThrottlingException', 'ServiceUnavailableException', 'InternalServerErrorException' ) MAX_RETRIES = 3 RETRY_DELAY = 0.1 # ç§ def send_to_error_queue(error_message, is_retryable, transaction_id): queue_url = 'TransientErrorQueue' if is_retryable else 'NonTransientErrorQueue' message_body = { 'error_message': error_message, 'transaction_id': transaction_id } try: sqs.send_message( QueueUrl=queue_url, MessageBody=json.dumps(message_body) ) except Exception as e: print(f"Failed to send message to {queue_url}: {str(e)}") def process_transaction(tin, amount, transaction_id): for attempt in range(MAX_RETRIES + 1): try: response = dynamodb.get_item(TableName='CumulativeTransactionStore', Key={'cumulativeStore_primary_key': {'S': tin}}) item = response.get('Item') if not item: print("Record not found.") return cumulative_amount_consumed = int(item.get('cumulative_amount_consumed', {}).get('N', '0')) threshold_value = int(item.get('threshold_value', {}).get('N', '0')) current_amount = amount if (cumulative_amount_consumed + current_amount < threshold_value): update_expression = 'SET cumulative_amount_consumed = cumulative_amount_consumed + :val, tax_rate = :tax_rate' tax_rate = DEFAULT_TAX_RATE max_value = threshold_value min_value = 0 else: update_expression = 'SET cumulative_amount_consumed = cumulative_amount_consumed + :val, tax_rate = :tax_rate' tax_rate = LOWER_TAX_RATE max_value = sys.maxsize min_value = threshold_value expression_attribute_values = { ':val': {'N': str(current_amount)}, ':tax_rate': {'N': str(tax_rate)}, ':lo': {'N': str(min_value)}, ':hi': {'N': str(max_value)} } dynamodb.transact_write_items( TransactItems=[ { 'Update': { 'TableName': 'CumulativeTransactionStore', 'Key': {'cumulativeStore_primary_key': {'S': tin}}, 'UpdateExpression': update_expression, 'ConditionExpression': 'cumulative_amount_consumed < :hi AND cumulative_amount_consumed >= :lo', 'ExpressionAttributeValues': expression_attribute_values, } }, { 'Put': { 'TableName': 'TaxDeductionAuditStore', 'Item': { 'transactionID': {'S': transaction_id}, 'transaction_amount': {'N': str(amount)}, 'transaction_tax_amount': {'N': str(amount * tax_rate / 100)} } } } ], ClientRequestToken=transaction_id ) print(f"Transaction processed successfully on attempt {attempt + 1}") return # Success, exit the function except Exception as e: error_code = e.response['Error']['Code'] error_message = f"Error accessing DynamoDB: {error_code} - {e.response['Error']['Message']}" is_retryable = error_code in RETRYABLE_ERRORS if is_retryable and attempt < MAX_RETRIES: print(f"Retryable error occurred on attempt {attempt + 1}. Retrying...") time.sleep(RETRY_DELAY * (2 ** attempt)) # Exponential backoff else: send_to_error_queue(error_message, is_retryable, transaction_id) # If we've exhausted all retries error_message = f"Max retries ({MAX_RETRIES}) exceeded. Last error: {error_message}" send_to_error_queue(error_message, True, transaction_id) # Main execution try: process_transaction(SAMPLE_TIN, SAMPLE_AMOUNT, SAMPLE_TRANSACTION_ID) except Exception as e: print(f"Transaction processing failed: {str(e)}") çµæ ã·ã¹ãã ã®ããã©ãŒãã³ã¹è©äŸ¡ã§ã¯ãå®è¡æéã 30 ç§ã«åºå®ããã¹ã¬ããæ°ãå€ããªããäžé£ã®ãã¹ãã宿œããŸããã åå®è¡åŸã«çޝç©ãã©ã³ã¶ã¯ã·ã§ã³ã¹ãã¢ããŒãã«ãªã»ããããããšã§ãããŸããŸãªè² è·æ¡ä»¶äžã§ã®ã·ã¹ãã ã®åäœãå
æ¬çã«åæããŸããã 1 ã¹ã¬ãããã 130 ã¹ã¬ããã«ã¹ã±ãŒã«ã¢ããããã«ã€ããŠãåŠçããããã©ã³ã¶ã¯ã·ã§ã³æ°ãäžè²«ããŠå¢å ããããšãããã·ã¹ãã ãå€§èŠæš¡ãªäžŠååŠçã®å Žé¢ã«ãããŠãé«ãäžŠè¡æ§ã广çã«åŠçã§ããããšã瀺ãããŸããã ãããããã®åŠçèœåã®åäžã«ã¯äžæçãªç«¶åã®å¢å ã䌎ããŸãããããã¯ãå€§èŠæš¡ãªäžŠååŠçã®å Žé¢ã«ãããŠãããã©ãŒãã³ã¹ãšç«¶å管çã®ãã¬ãŒããªããæµ®ã圫ãã«ããŠããŸãã äžæçãªã¢ã¯ã»ã¹ã®ç«¶åã¯ãè€æ°ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåæã«åãã¢ã€ãã ãæŽæ°ããããšãããšãã«çºçããäžéšã®ãã©ã³ã¶ã¯ã·ã§ã³ããã£ã³ã»ã«ãããããšã«ãªããŸãããã®ããŒã¿ã瀺ãã®ã¯ãã¹ã¬ããæ°ãå¢ãããŠãç«¶å管çã®ãªãŒããŒããããå¢å€§ãããããã¹ã«ãŒãããã倧å¹
ã«ã¯åäžããªããªããšããããšã§ãã æ¬¡ã®ã°ã©ãã¯ã¹ã¬ããæ°ãšãã©ã³ã¶ã¯ã·ã§ã³ã¡ããªã¯ã¹ã®çžé¢é¢ä¿ã瀺ããŠããŸãã ããã«ãããã¹ã«ãŒããããšç«¶åçãåæå®è¡ã¹ã¬ããã®å¢å ã«äŒŽã£ãŠã©ã®ããã«å€åããããããããŸãã çµè« ãã®æçš¿ã§ã¯ãAmazon Fintech ããŒã ã DynamoDB ã®åŒ·åãªæ¡ä»¶ä»ãæžãèŸŒã¿æ©èœã䜿çšããããšã§ã段éççšçã¢ããªã±ãŒã·ã§ã³åãã®ã·ã³ãã«ãã€é«ãã¹ã±ãŒã©ããªãã£ãæã€ãœãªã¥ãŒã·ã§ã³ãå®è£
ããæ¹æ³ã玹ä»ããŸããã ãã®ææ³ãæ¡çšãããŸãã«çºçãã ConditionalCheckFailedException ãå
ã«èŠè¶ããŠåŠçããããšã§ã倧éã®åæãã©ã³ã¶ã¯ã·ã§ã³ãçºçããã·ããªãªã«ãããŠããé«ãã¹ã«ãŒããããšã¹ã±ãŒã©ããªãã£ãå®çŸããªãããããŒã¿ã®äžè²«æ§ãç¶æããããšãã§ããŸãã ãã®ææ³ã¯ãåæãªã¯ãšã¹ãæ°ãå¢å ããã«ã€ãããã«ããã¯ã«ãªããã¡ãªæ¥œèгçããã¯ã®å¿
èŠæ§ãã¹ããŒãã«æé€ããŠããŸãã代ããã«ãAmazon Fintech ã·ã¹ãã 㯠DynamoDB ã®çµã¿èŸŒã¿ã®åæã¢ã¯ã»ã¹å¶åŸ¡ã¡ã«ããºã ãæŽ»çšããé«è² è·ç¶æ³ã§ãäžè²«ããããŒã¿ãšå¹ççãªæŽæ°ãå¯èœã«ããŠããŸãã æ¡åŒµæ§ã®ãããã©ã³ã¶ã¯ã·ã§ã³åŠçã·ã¹ãã ãç¬èªã«å®è£
ããã«ã¯ãDynamoDB ã® æ¡ä»¶ä»ãæŽæ° æ©èœã確èªããŠãã ããã詳ããã¬ã€ãã³ã¹ãå¿
èŠãªå Žåã¯ãDynamoDB ã® ããã¥ã¡ã³ã ãåç
§ããããAWS ãµããŒãã«ãåãåãããã ããã èè
ã«ã€ã㊠Jason Hunter ã¯ã«ãªãã©ã«ãã¢åšäœã® Amazon DynamoDB å°ä»»ã®ããªã³ã·ãã«ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãã2003 幎ãã NoSQL ããŒã¿ããŒã¹ã«æºãã£ãŠããŸããJavaããªãŒãã³ãœãŒã¹ãXML ãžã®è²¢ç®ã§ç¥ãããŠããŸãã DynamoDB ã®æçš¿ ã Jason Hunter ãæžããä»ã®æçš¿ã¯ã AWS Database Blog ã§èŠã€ããããšãã§ããŸãã Balajikumar Gopalakrishnan ã¯ãAmazon Finance Technology ã® Principal Engineer ã§ãã 2013 幎ãã Amazon ã«åšç±ããAmazon ã®é¡§å®¢ã®ç掻ã«çŽæ¥åœ±é¿ãäžããæè¡ãéããŠãå®äžçã®èª²é¡ã解決ããŠããŸããã ä»äºä»¥å€ã§ã¯ããã€ãã³ã°ãçµµç»ãå®¶æãšéããããšã楜ããã§ããŸãããŸããæ ç»å¥œãã§ããããŸãã Jay Joshi ã¯ãAmazon Finance Technology ã®ãœãããŠã§ã¢éçºãšã³ãžãã¢ã§ãã 2020 幎ãã Amazon ã«åšç±ããäž»ã«äžçåå°ã®æ³åã§ã®çšé¡èšç®ãšã¬ããŒãã£ã³ã°ã®ããã®ãã©ãããã©ãŒã ã®æ§ç¯ã«åŸäºããŠããŸãã ä»äºä»¥å€ã§ã¯ãå®¶æãå人ãšéãããããæ°ããæçã®è¡ãå
ãæ¢çŽ¢ãããããããã³ãã³ãããã®ã奜ãã§ãã Arjun Choudhary 㯠2019 幎ããAmazon ã® Finance Technology éšéã§ãœãããŠã§ã¢éçºãšã³ãžãã¢ãšããŠåããŠããŸããäž»ãªæ¥åã¯ãã°ããŒãã«ãªæ³äººçšã®æºæ³åŸŽåãã©ãããã©ãŒã ã®éçºã§ããä»äºä»¥å€ã§ã¯ãå°èª¬ãèªãã ããã¯ãªã±ããããã¬ãŒããŒã«ããããããŠæ¥œããã§ããŸãã
ããã«ã¡ã¯ããããã¯ãéš éšé·ã®çš²å£ã§ããïŒèªå·±ç޹ä»ããããŸã§ã®ãã£ãªã¢ã«ã€ããŠâãã芧ãã ãããïŒ tech-blog.rakus.co.jp 以åã¯èªç€Ÿã®æŠç¥ã«ã€ããŠæžããŸããããä»åã¯èŠç¹ãå€ããŠã¿ãŸãã ãããŸã§å€§æã»ãã³ãã£ãŒã»å€è³ãªã©æ§ã
ãªäŒæ¥ã§ç€Ÿå
ã·ã¹ãã ã«è§ŠããŠãããŠãŒã¶ãŒãšããŠã®çµéšããããŠçŸåšããã¯ãªãã£ã¹ç³»SaaSã«æºãã£ãŠããæäŸè
ãšããŠã®ç¥èŠã ããããèžãŸããŠãèªåãªãã«æŽçããŠã¿ãŸããã ç®æ¬¡ ã¯ããã«ïŒSaaSã®æ®åãšãæ®ãããã巚倧ãªå£ã 第1ç« ïŒåæãšãªããäŒæ¥ã®åºå¹¹ã·ã¹ãã ã4ã€ã®ã¢ãŒããã¯ã㣠1. Fit to StandardïŒERPäžæ¬è¶³ææ³ïŒ 2. Two-Tier ERPïŒ2å±€æ§é ïŒERP à SaaSïŒ 3. Composable ERPïŒã¬ãŽãããã¯åïŒ 4. SaaS UnbundlingïŒè±SaaSã»å®å
šå
補ååž°ïŒ ç¬¬2ç« ïŒãªããSIãããAI à BPOãã ãã§ã¯å±ããªãã®ã SIïŒã·ã¹ãã ã€ã³ãã°ã¬ãŒã·ã§ã³ïŒã®èª²é¡ ââ ãèŠä»¶å®çŸ©ãã®å£ AI à BPOã®èª²é¡ ââ ããã©ãã¯ããã¯ã¹åãã®å£ 第3ç« ïŒçŸå Žãå€ãããå°å±ã·ã§ãã ââ Forward Deployed Engineer (FDE) 第4ç« ïŒã·ã¹ãã ãã€ãªããäžèœç¿»è𳿩ã ââ äžéã·ã¹ãã ãšOntology ãããŒã¿ãã«ãæå³ããäžãã (Ontology) ç°ãªãèšèªã翻蚳ãããäžèœç¿»è𳿩ã 第5ç« ïŒAIæä»£ã®æ°ããã¢ãŒããã¯ã㣠ââ ãèªåŸçAIããžã®é AIããåããããã®å°å³ ãããã«ïŒããã¯ãªãã£ã¹ã»ãããã¯ãã®è§£å床ãé«ãã ã¯ããã«ïŒSaaSã®æ®åãšãæ®ãããã巚倧ãªå£ã ãã10幎ã§ãæ¥æ¬ã®SaaSåžå Žã¯åçãªé²åãéããŸãããã¯ã©ãŠãäžã®åªããããŒã«ãå¥çŽããIDãçºè¡ããã°ããã®æ¥ããææ°ã®UI/UXã§æ¥åãã§ããââãããããåœããåããšãªããå€ãã®äŒæ¥ã§çç£æ§ãåäžããŸããããããããã®æåæ³åãéçšããªãé åãäŸç¶ãšããŠååšããŸããããããå·šå€§ãªæŽå²ãšè€éãªæ¥åæ§é ãæã€ããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãã®åºå¹¹æ¥åé åã§ãã ãSaaSãå°å
¥ããããã©ãæ¢åã®åºå¹¹ã·ã¹ãã ãšããŒã¿ãã€ãªãããªãã ãçŸå Žç¬èªã®è€éãªãªãã¬ãŒã·ã§ã³ããæšæºæ©èœã§ã¯ã«ããŒããããªãã ãçµå±ãCSVããŒã¿ãæäœæ¥ã§å å·¥ããŠã¢ããããŒãããæ¥åãæ®ã£ãããããã声ã¯ãSaaSãã³ããŒãšãšã³ã¿ãŒãã©ã€ãºäŒæ¥ã®åæ¹ãæ±ããæ·±ãæ©ã¿ïŒãã€ã³ïŒã§ãããªãã䟿å©ãªSaaSãå¢ããŠããçŸå Žã®èŠãã¿ã¯ãªããªããªãã®ãããã®è§£å床ãé«ããããã«ã¯ããŸãçŸåšäŒæ¥ã眮ãããŠãããã·ã¹ãã ã»ã¢ãŒããã¯ãã£ã®çŸåšå°ããç¥ãå¿
èŠããããšæã£ãŠããŸãã æ¬èšäºã§ã¯ãäŒæ¥ã®åºå¹¹ã·ã¹ãã ã蟿ã£ãŠããèªåãªãã«æŽçããã4ã€ã®ã¢ãŒããã¯ãã£ããšãæ¢åã®ãSIãBPOããæ±ãã課é¡ãæŽçããäžã§ããã®å
šãŠãçªç Žããããã«çŸããæ°ããã¢ãããŒãââãå°å±ã·ã§ãïŒFDEïŒããšãäžèœç¿»è𳿩ïŒäžéã·ã¹ãã ïŒãã«ã€ããŠèªåãªãã«åžå Žã®ç¶æ³ãèžãŸããŠè§£èª¬ããŸãšããŠã¿ãŸããã ããã¯åãªãããŒã«ã®è©±ã§ã¯ãªããããããã®ããã¯ãªãã£ã¹ãããã¯ããåããã¹ããã²ãšã€ã®é²å系統暹ã®è©±ãšæã£ãŠããããã°ãšæããŸãã 第1ç« ïŒåæãšãªããäŒæ¥ã®åºå¹¹ã·ã¹ãã ã4ã€ã®ã¢ãŒããã¯ã㣠ãå°å±ã·ã§ããããäžèœç¿»è𳿩ããšããæ°ããæŠå¿µãçè§£ããããã«ããŸãã¯çŸåšããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãã©ã®ãããªã·ã¹ãã æ§é ã®äžã«æãç«ã£ãŠããã®ãããã®é¡åãèŠãŠãããŸãããã倧ãã4ã€ã®ãã¿ãŒã³ã«åé¡ãããŸãã 1. Fit to StandardïŒERPäžæ¬è¶³ææ³ïŒ æãäŒçµ±çãã€ããã€ãŠã®ãçæ³åœ¢ããšãããã¢ãã«ã§ããSAPãOracleãšãã£ã巚倧ãªERPãå°å
¥ããäŒèšã»äººäºã»è²©å£²ã»åšåº«ãªã©ãäŒæ¥ã®ããããããŒã¿ãäžã€ã®å·šå€§ãªã·ã¹ãã ã§ç®¡çããŸãã ç¹åŸŽïŒ ãæ¥åãã·ã¹ãã ã«åããããææ³ãããŒã¿ãäžå
管çããããããçµå¶å±€ã«ã¯çæ³çã§ãã 課é¡ïŒ çŸå Žã«ãšã£ãŠã¯ã䜿ãã«ããããå£ã«ãªããŸããUI/UXãããããŒã¿æŽåæ§ãåªå
ããããããåçŽãªçµè²»ç²Ÿç®ã«ãå€å€§ãªå·¥æ°ãããããŸãããŸããæ¥æ¬åºæã®åç¿æ
£ã«åãããããã®è¿œå éçºïŒã¢ããªã³ïŒã«ãããä¿å®ã³ã¹ããé«éš°ããã¡ã§ãã 2. Two-Tier ERPïŒ2å±€æ§é ïŒERP à SaaSïŒ çŸåšãå€ãã®æ¥æ¬äŒæ¥ãæ¡çšããŠããçŸå®è§£ã§ãããæ¬ç€Ÿãã³ã¢æ¥åïŒäŒèšãªã©ïŒã¯éåãªERPã§å®ããçŸå Žæ¥åïŒåŽåãSFAãªã©ïŒã¯è»œå¿«ãªSaaSã§æ»ããããšãããã€ããªããæ§æã§ãã ç¹åŸŽïŒ å®ããšæ»ãã®ãã©ã³ã¹åãçŸå Žã¯ã¢ãã³ãªSaaSã䜿ãããããçç£æ§ãäžãããŸãã 課é¡ïŒ ãããŒã¿ã®åæããæå€§ã®ããã¯ã§ãã瀟å¡ãã¹ã¿ãŒãERPã«ãSaaSã«ãç¹åšããããããã€ãªãããã«ãææ«ã«CSVãåãåºããæå å·¥ããŠåã蟌ãããšããã¢ããã°äœæ¥ãæ®ããŸã 3. Composable ERPïŒã¬ãŽãããã¯åïŒ Two-Tierãããã«æšãé²ãã巚倧ãªERPã眮ããã«ã忥åã«ãããæåŒ·ã®SaaSïŒBest of BreedïŒããã¬ãŽãããã¯ã®ããã«çµã¿åãããŠã·ã¹ãã çŸ€ãæ§æããèãæ¹ã§ãã ç¹åŸŽïŒ ãäŒèšã¯freeeãã人äºã¯SmartHRããå¶æ¥ã¯Salesforceãã®ããã«æé©è§£ãéžã¹ãå€åã«åŒ·ãæ§æã§ãã 課é¡ïŒ ã€ã³ãã°ã¬ãŒã·ã§ã³ã®é£æåºŠã極ããŠé«ãç¹ã§ããAPI飿ºãããŸããããªããšããŒã¿ããµã€ãåïŒå€ç«ïŒããå
šäœãèŠããªããªããŸãã匷åãªæ
ã·ã¹ïŒã³ãŒãã¬ãŒããšã³ãžãã¢ïŒçµç¹ãäžå¯æ¬ ã§ãã 4. SaaS UnbundlingïŒè±SaaSã»å®å
šå
補ååž°ïŒ AIã®é²åã«ãããè¿å¹Žããã¯äŒæ¥ãäžå¿ã«æ³šç®ããå§ãããæºãæ»ããã§ãããSaaSã¯æ©èœéå€ã§é«ããAIã䜿ãã°èªåãã¡ã§å¿
èŠãªã·ã¹ãã ãå®ãäœããã®ã§ã¯ãªããïŒããšããçºæ³ã§ãã ç¹åŸŽïŒ æ±çšSaaSã䜿ãããèªç€ŸDBã®äžã«AIæ¯æŽã§ç¬èªã¢ããªãæ§ç¯ããŸããã³ã¹ãåæžãšæ¥åãžã®å®å
šé©åãã¡ãªããã§ãã 課é¡ïŒ ãäœã£ã人ããçŽããªãããšããå±äººåãªã¹ã¯ãšãã»ãã¥ãªãã£ãå質ä¿èšŒããã¹ãŠèªç€Ÿã§æ
ãé責ãçºçããŸãã æ¬§å·ãã£ã³ããã¯å€§æKlarnaãæåãªäŸã§ã kigyolog.com 第2ç« ïŒãªããSIãããAI à BPOãã ãã§ã¯å±ããªãã®ã äžèšã®4ã€ã®ã¢ãŒããã¯ãã£ã«ã¯ãããããäžé·äžçããããŸããããã¡ããç«ãŠãã°ãã¡ããç«ãããã®ç¶æ³ã§ãã ãã®èª²é¡ã解決ããããšããéãäŒæ¥ãæ¬¡ã«æ€èšããã®ã¯ã äŒçµ±çãªãSIïŒã·ã¹ãã ã€ã³ãã°ã¬ãŒã·ã§ã³ïŒããããããã¯è¿å¹Žå°é ããŠãããAI à BPOïŒAIãæŽ»çšããæ¥åå§èšïŒã ã ãšæããŸãããããããšã³ã¿ãŒãã©ã€ãºã®ãã©ã¹ãã¯ã³ãã€ã«ãã«ãããŠã¯ããããããŸãæ±ºå®æã«ãªãåŸãªãçŸå®ãããããã«æããŸãã SIïŒã·ã¹ãã ã€ã³ãã°ã¬ãŒã·ã§ã³ïŒã®èª²é¡ ââ ãèŠä»¶å®çŸ©ãã®å£ SIã¯ã建ç©ã建ãŠãïŒïŒã·ã¹ãã ãäœãïŒãããšã«ã¯é·ããŠããŸããããããSIã¢ãã«ã®åæã¯ãèŠä»¶ãåºãŸã£ãŠããããšãã§ãã ãä»ã®æ¥åããã®ãŸãŸã·ã¹ãã åããŠãã ããããšäŸé ŒããŠããçŸå Žã®æ¥åã¯è€éæªå¥ãªãã¯ããæé»ç¥ã§åããŠãããèª°ãæ£è§£ãç¥ããŸãããçµæãèŠä»¶å®çŸ©ã«å幎ãããã宿ããé ã«ã¯ããžãã¹ç°å¢ãå€ãã£ãŠããââããããããŠã©ãŒã¿ãŒãã©ãŒã«åã®éçãã§ãã AI à BPOã®èª²é¡ ââ ããã©ãã¯ããã¯ã¹åãã®å£ äžæ¹ã§ããAIã䜿ã£ãŠæ¥åããšã¢ãŠããœãŒã¹ããïŒAI à BPOïŒããšããã¢ãããŒããå¢ããŠããŸããããã¯å³å¹æ§ããããŸãããæ¬è³ªçã«ã¯ã人ã®äœæ¥ãAIã«çœ®ãæããã ããã§ãã æ¥åããã»ã¹èªäœããã©ãã¯ããã¯ã¹åãã瀟å
ã«ããŒã¿è³ç£ãããŠããŠãèç©ãããŸããããŸããAIã誀ã£ã倿ïŒãã«ã·ããŒã·ã§ã³ïŒãããéãèåŸã«ããããŒã¿æ§é ïŒãªã³ãããžãŒïŒãæŽåãããŠããªããããåå ç©¶æãå°é£ã«ãªããŸãã ãSIã®ããã«å€ããäœããã®ã§ããªãããBPOã®ããã«å€ã«åºããã®ã§ããªãã æ¢åã®SaaS矀ããSIããBPOã解決ããããªãã£ããæçµ¶ãããããåããããã«å¿
èŠãªã®ãã ãå
åŽã«å
¥ã蟌ã¿ãæ¥åãåããªããã·ã¹ãã ãé²åãããã ãšããã第3ã®ã¢ãããŒããã§ãŠããŠããŸãã 第3ç« ïŒçŸå Žãå€ãããå°å±ã·ã§ãã ââ Forward Deployed Engineer (FDE) ããã§ç»å Žããã®ãã FDEïŒForward Deployed EngineerïŒ ãšããæŠå¿µã§ãã 圌ãã¯ãSIerããšããBPOã¹ã¿ããããšãç°ãªããŸãããããŠèšããªãã ããšã³ãžãã¢ãªã³ã°èœåãæã£ããçŸå Žå°å±ã®è§£æ±ºè«è² 人ã ã§ããã調æŽãã§ã¯ãªããå®è£
ãã§è§£æ±ºããã SIerãã仿§æžããäœãéã«ãFDEã¯ããããã¿ã€ãããäœããŸãã BPOããããã¥ã¢ã«éããã«äœæ¥ããéã«ãFDEã¯ãããã¥ã¢ã«ãäžèŠã«ããèªååããè¡ããŸãã圌ãã¯é¡§å®¢ã®ãªãã£ã¹ã®æåç·ïŒForwardïŒã«å
¥ã蟌ã¿ïŒDeployedïŒã以äžã®ããã«åããŸãã APIããªãïŒ â ããªãDBã®ãã³ãããçŽæ¥ããŒã¿ãã€ãã©ã€ã³ãäœããŸãã çŸå Žã®ãšã¯ã»ã«ãè€éïŒ â ããã®ããžãã¯ãPythonã§è§£æããã·ã¹ãã ã«ç§»æ€ããŸãã SIã®ãããªãçŽåããŠçµãããã§ã¯ãªããBPOã®ãããªãäœæ¥ä»£è¡ãã§ããªãã æ¢åã®å·èµåº«ïŒã¬ã¬ã·ãŒã·ã¹ãã ïŒã«ãã飿ïŒããŒã¿ïŒãããã®å Žã§æ¥µäžã®æçïŒã¢ãã³ãªæ¥åãããŒïŒã«èª¿çããŠæäŸãããå°å±ã·ã§ããããã®ã¢ãžã£ã€ã«ãªã¢ãããŒãã¯ãå
šäœæé©ã®å€§æ¹ä¿®ã§ã¯ãªãâè©°ãŸããããéšåâããå°ããæ¹åãéããããšã§ããšã³ã¿ãŒãã©ã€ãºã®çµç¹ã»ããã»ã¹ã®å¶çŽäžã§ãå€é©ãé²ããããããŸãã 第4ç« ïŒã·ã¹ãã ãã€ãªããäžèœç¿»è𳿩ã ââ äžéã·ã¹ãã ãšOntology FDEãšããé«åºŠäººæã掻èºããããã«ã¯ã圌ããæ¯ãããå
äžããšãªãã·ã¹ãã åºç€ãå¿
èŠã§ããããããäžéã·ã¹ãã ãã§ããããã®æ žãšãªããOntologyïŒãªã³ãããžãŒïŒãã§ãã ãããŒã¿ãã«ãæå³ããäžãã (Ontology) åŸæ¥ã®ããŒã¿ããŒã¹ã¯ãè¡ãšåãã®çŸ
åã«éããŸãããSIã§éçºããã·ã¹ãã ããAI à BPOã§äœ¿ãããŒã«ããåŸã
ã«ããŠããã®æ¥åå°çšã®ããŒã¿å®çŸ©ãã«ãªããã¡ã§ãã ããããäžéã·ã¹ãã ã«ãããOntologyã¯ãããŒã¿ãã®ãã®ã§ã¯ãªããæ¥åã®å®äœïŒConceptïŒããäžå¿ã«ããŒã¿ãåå®çŸ©ããŸãã åŸæ¥ïŒ Table_A.col_1 ãš Table_B.id ãçµåïŒäººéãéœåºŠå€æïŒ OntologyïŒ Customer has many ContractsïŒããŒã¿èªäœãæå³ãæã€ïŒ çŸå®äžçã®æ¥åã®é¢ããåãïŒã³ã³ããã¹ãïŒããã®ãŸãŸããŒã¿æ§é ãšããŠå®çŸ©ããããšã§ãã·ã¹ãã ã¯è£åŽã®è€éãªDBæ§é ãç¥ããªããŠããã顧客ã®å¥çŽç¶æ³ãæããŠããšåãã ãã§æ£ããããŒã¿ãåŒãåºããããã«ãªããŸãã ç°ãªãèšèªã翻蚳ãããäžèœç¿»è𳿩ã ãšã³ã¿ãŒãã©ã€ãºã«ã¯ãSAPãOracleãéè¯ãšã¯ã»ã«ãªã©ãç°ãªãèšèªïŒãããã³ã«ïŒã§è©±ãã·ã¹ãã ãä¹±ç«ããŠããŸãã ããã«ã äžéæŠå¿µïŒããŒã¿ãã·ã¹ãã ïŒããé
眮ããããšã§ãã¬ã¬ã·ãŒãšã¢ãã³ãã€ãªããäžèœç¿»è𳿩ã ãšããŠã®åœ¹å²ãæããããŸãã å
¥åïŒã¬ã¬ã·ãŒïŒïŒ å€ãã·ã¹ãã ããFDEããã€ãã©ã€ã³ã§ããŒã¿ãåžãäžããã åŠçïŒç¿»èš³ïŒïŒ åžãäžããããŒã¿ãOntologyã«åºã¥ããŠãæå³ã®ããæ
å ±ãã«å€æã»çµ±åããã åºåïŒã¢ãã³ïŒïŒ AIãšãŒãžã§ã³ããSaaSããæŽçãããããŒã¿ã«ã¢ã¯ã»ã¹ããã ãã®ãäžéæŠå¿µ(ããŒã¿ãã·ã¹ãã )ããååšããããšã§ãäŒæ¥ã¯å·šå€§ãªåºå¹¹ã·ã¹ãã ããªãã¬ã€ã¹ããããšãªãïŒïŒå·èµåº«ãè²·ãæ¿ããããšãªãïŒãææ°ã®AI掻çšïŒïŒããã®æçïŒã享åã§ããããã«ãªããŸãã 第5ç« ïŒAIæä»£ã®æ°ããã¢ãŒããã¯ã㣠ââ ãèªåŸçAIããžã®é ãã® ãFDE à äžéæŠå¿µïŒOntologyïŒã ãšããæ§é ã¯ãããããã®ããã¯ãªãã£ã¹ãããã¯ãã«ãããŠãAIãæŽ»çšããããã®å¿
é æ¡ä»¶ãšãªããŸãã AIããåããããã®å°å³ çæAIãAIãšãŒãžã§ã³ãã宿¥åã§æ©èœããããã«ã¯ãã³ã³ããã¹ãïŒæèïŒãå¿
èŠã§ããåã«ããã¥ã¢ã«ãåŠç¿ãããã ãã§ã¯äžååã§ããä»ããã®ç¬éã®äŒç€Ÿã®ç¶æ
ããæ£ç¢ºã«ææ¡ããŠããªããã°ãªããŸããã äžéã·ã¹ãã äžã®Ontologyã¯ããŸãã« ãAIã«ãšã£ãŠã®å°å³ãã«ãªããŸãã ãA瀟ã®è«æ±æžãé
ããŠããããšããäºå®ã ãã§ãªãããA瀟ã¯éèŠé¡§å®¢ã§ãããéå»ã«åæ§ã®ã±ãŒã¹ã§ã¯æ
åœè
ãé»è©±ã§ãã©ããŒããŠããããšããæèãAIãçè§£ã§ããŠåããŠãAIã¯åãªãããŒã«ãè¶
ã ããèªåŸçãªãšãŒãžã§ã³ãããšããŠæ©èœããŸãã ã€ãŸããäžéã·ã¹ãã ãæ§ç¯ããããšã¯ãåãªãããŒã¿çµ±åã§ã¯ãããŸããã SIã®ããã«ãç®±ããäœãã®ã§ããªããBPOã®ããã«ã人ãã§åããã®ã§ããªãããäŒæ¥ãã®ãã®ãããžã¿ã«ãã€ã³ïŒããžã¿ã«ã®ååïŒåããAIãèªåŸçã«åããç°å¢ïŒã¯ãŒã¯ã¹ããŒã¹ïŒãæŽããããšããªã®ã§ãã ãããã«ïŒããã¯ãªãã£ã¹ã»ãããã¯ãã®è§£å床ãé«ãã ãFit to StandardããããSaaS UnbundlingããŸã§ãäŒæ¥ã®ã·ã¹ãã ã¯æºãåããŠããŸãããããããã©ã®æä»£ãã©ã®ã¢ãŒããã¯ãã£ã«ãããŠãããããŒã¿ãã€ãªããæ¥åãæµãããšããæ¬è³ªçãªèª²é¡ã¯æ®ããããŸãŸã§ããã ãå°å±ã·ã§ãïŒFDEïŒããšãäžèœç¿»è𳿩ïŒäžéã·ã¹ãã ïŒãã®ã¢ãããŒãã¯ãæ¢åã®SaaS矀ãSIã¢ãã«ãåŠå®ãããã®ã§ã¯ãããŸãããããããéå»ã®éºç£ïŒã¬ã¬ã·ãŒããŒã¿ïŒãšæªæ¥ã®æè¡ïŒAI/SaaSïŒããæè¡ãšæ³¥èãã§æ¥çããæ°ããã¢ãããŒããªã®ã§ã¯ãšæã£ãŠããŸãã å€ãæåã³ãŒããšã®æŠããè€éæªå¥ãªåå®ç§ç®ã®ãããã³ã°ãäŸå€ã ããã®æ¿èªãããŒ......ã ãããããæ³¥èãçŸå®ãããé«åºŠãªæœè±¡åæè¡ïŒOntologyïŒãšå®è£
åïŒFDEïŒã§å
ã¿èŸŒã¿ããŠãŒã¶ãŒã«ã¯ãéæ³ã®ãããªã·ã³ãã«ãããšããŠæäŸããããããããããã®é åã®ãããã¯ããããžã¡ã³ãããšã³ãžãã¢ãªã³ã°ã®çã®é¢çœãã§ãããæ·±æ·µãªãé
åã§ã¯ãªãã§ããããã ãããæ¯ããäžéæŠå¿µïŒOntologyïŒæèã ãããã¯ãŸã è³æ
£ããªãèšèãããããŸããããæ°å¹ŽåŸã«ã¯äŒæ¥ã®ããã¯ãªãã£ã¹æ§é ãæ¯ãããåœããåã®ã€ã³ãã©ã«ãªã£ãŠãããããããªããšæããŠããŸãã ããããããããè€éããæè¡ã§è§£ãã»ãããã¢ãããŒããã瀟äŒã®åºç€ãšãªãããã¯ãªãã£ã¹ãããã¯ãã®é²åã«èå³ãæã£ãŠããã ãããªãããã²ãã®åºå€§ãªãã£ãŒã«ããäžç·ã«æ¢æ±ããŠãããã°ãšæããŸãã ãã®èšäºãèªãã§ãçŸåšã®å Žæãé£ã³åºãããšæã£ãæ¹ãã©ã¯ã¹ã®ãããã¯ãéšã«èå³ãæã£ãŠãã ãã£ã ãã¶ã€ããŒïŒPdM ã®æ¹ ã¯ããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ãããâ»ãããã¯ããããŒãžã£ãŒã®ã«ãžã¥ã¢ã«é¢è«ã¯ãåºæ¬çã«ç§ïŒçš²å£ïŒãæ
åœããŸãïŒ âæ¡çšæ
å ± ãã¶ã€ã㌠career-recruit.rakus.co.jp  â ãã¶ã€ã³ãããŒãžã£ãŒ career-recruit.rakus.co.jp ïŒã¢ã·ã¹ã¿ã³ããããŒãžã£ãŒ career-recruit.rakus.co.jp
ã¯ããã« KNãšç³ããŸãã 2025幎2æã«æ ªåŒäŒç€Ÿ ãšãã°ã¢ ã«å
¥ç€Ÿãããããã¯ããããŒãžã£ãŒ(PdM)ãšããŠçŽ1幎ãçµéããŸããã åè·ã§ã¯æ°åã§Webç³»äŒæ¥ã«ãšã³ãžãã¢ãšããŠå
¥ç€Ÿãã3幎éåŸäºããŸããã æç³»åºèº«ãªãã AWS ã§ã®ã€ã³ãã©æ§ç¯ã»ã¡ã³ããã³ã¹ããããã¯ãšã³ãã»ããã³ããšã³ãã®éçºãŸã§ãå¹
åºãçµéšããŸããã ãã®åŸã瀟å
転è·ã§PdMãžãšãã£ãªã¢ãã·ãããã ãã£ã³ãã㯠ãµãŒãã¹ã®ã°ããŒã¹ãæ
åœããŠããŸããã ç§ã ãšãã°ã¢ ãžã®è»¢è·ã決ããã®ã¯ã20幎ç¶ãã BUYMA ããšãããããã¯ããæã€å§åçãªèç©ã«æ¹ãããããã§ãã ãããåæã«ããæŽå²ããããããã«ãåããé
ãã éšåæé© ã®èª¿æŽã«è¿œãããã®ã§ã¯ãªããããšããæžå¿µããããŸããã çµæãšããŠããã®1幎éã§åŸããããã®ã¯äºæ³ãé¥ãã«è¶
ãããã®ã§ããã ãã®èšäºã§ã¯ã ãšãã°ã¢ ã§çµéšããåŠã³ãšã20幎ç¶ããããã¯ãã®ãåã¿ãããããã䟡å€ã«ã€ããŠèšããŸãã èªèº«ã®æ¥åé å BUYMA ã¯äžç180ã«åœã22.5äžäººä»¥äžã®ããŒãœãã«ã·ã§ãããŒ(åºåè
)ãæ¯ãããå¯äžç¡äºã®ããè²·ãç©ä»£è¡ããã©ãããã©ãŒã ã§ãã çŸåšãç§ã¯ BUYMA ã® ãåºåè
é å(SELL)ããšã決æžã»é
éã»åºç€ãæ¯ããããµãŒãã¹ã€ã³ãã©(SI)ã ã®2ã€ã暪æããŠæ
åœããŠããŸãã SELLé å: åºåè
ãããã«ã¹ãã¬ã¹ãªãã質ã®é«ãåºåãè¡ããã SIé å: é
éãæ±ºæžãCSã çµç ãååŒã®å
šå·¥çšãæ¯ãããå¿èéšã ãã®2ã€ãåæã«èŠãããšã¯ãäžèŠãããšè² è·ãé«ãããã«æããŸãã ãããããåºåã®ä»æ§å€æŽããæ°ã«æåŸã® çµç åŠçãCSã®åãåããã«ã©ã圱é¿ãããããäºèŠããªããåãçµéšã¯ããããã¯ãããæ©èœã®éåäœ(ç¹)ãã§ã¯ãªãããšã³ã·ã¹ãã (é¢)ããšããŠæããèŠåº§ãç§ã«äžããŠãããŸããã ãšãã°ã¢ ã®çµç¹å³ å
¥ç€Ÿã®æ±ºãæ:20幎ã®èç©ãããããåå£ è»¢è·æŽ»åãããŠããåœæãç§ãæãéèŠããŠããã®ã¯ãèªèº«ã®ä»®èª¬æ§ç¯ãæœçç«æ¡ã®ç²ŸåºŠãåäžãããããšãã§ããã åè·ã®æ°èŠäºæ¥ã§ã¯ãã¹ããŒãæãæã£ãŠæœçãåããŠããŸããããæ¯èŒå¯Ÿè±¡ãšãªãéå»ããŒã¿ãå°ãªãããæåžã«ã¯ç«ã€ãããªãåœãã£ã(å€ãã)ãã®æ·±ãæŽå¯ããäžè¶³ããŠããæèŠããããŸããã 2005幎ããç¶ã BUYMA ã«ã¯ãèšå€§ãªæåãšããããäžåãã倱æã®çµéšããããã®ã§ã¯ãªãããšä»®å®ããŠããŸãããããã¯ãèªèº«ãæã次ã®ä»®èª¬ãç ãæŸãŸããããã«éåžžã«é
åçãªå Žæã ãšæããŸããã ãããŠæŽå²ã®ããç°å¢ã«èº«ã眮ãããšã§ãäžé·æçãªæé軞ã§ã®ã倿ã®è»žããæã«å
¥ããä»åŸã©ã®ãããªãã§ãŒãºã®ãããã¯ãã§ãéçšããPdMã«ãªããããšèããã®ããå
¥ç€Ÿã®æå€§ã®çç±ã§ãã www.buyma.com å
¥ç€ŸåŸã®åŠã³ â ãã©ã³ã¹æèŠãæ±ãããã ãšãã°ã¢ ã§æãéããããã®ã¯ãè€æ°ã®èŠç¹ãåæã«æã¡ã å
šäœæé© ã远æ±ãããã©ã³ã¹æèŠã§ãã å
¥ç€ŸåŸã«æãããå°è±¡çãªãããžã§ã¯ãã«ã çµç ãäŒç»ãè¡ã£ãåºåè
ã«é¢é£ããæ©èœéçºããããŸããã ãã®ãããžã§ã¯ãã¯ã çµç ãã«ã¹ã¿ããŒãµããŒããåºåè
åŽã® ããŒã±ãã£ã³ã° ããšã³ãžãã¢ããã¶ã€ããŒãšãã倿§ãªè·çš®ãéãŸã£ãããŒã ã§é²è¡ããŸããã ãããžã§ã¯ãã®ä»æ§æ±ºãã®å Žé¢ã§ãç§ã¯åããŠãæŽå²ã®éããã宿ããŸããã çµç äžã®éçšãããŒãããã瀟å
ããŒãºãšãŠãŒã¶ãŒããŒãºã調åãããéçšãšãªã£ãŠããŸããã ãã®äžã§ãæ©èœéçºãšãã芳ç¹ããåºåè
ã«ãšã£ãŠã®äœ¿ãããã(ãŠãŒã¶ãŒããªãã£)ã確ä¿ããªããã°ãªããŸããã ããã«ãåãåãããçºçããéã®ã«ã¹ã¿ããŒãµããŒãã®å¯Ÿå¿è² è·ãäºåã«æ€èšããŠããå¿
èŠããããŸããã ãã®ããã«ã1ã€ã®æææ±ºå®ãè€æ°ã®éšçœ²ã«åœ±é¿ãåãŒããŸãã ãããŠã20å¹Žã®æŽå²ããããããã¯ãã§ã¯ã1ã€ã®ã«ãŒã«ã倿Žããã ãã§ããã·ã¹ãã çã«ãããžãã¹çã«ãèæ¯ãèšå€§ã«ãããããå®ç¹ãèŠãŠçµè«ãåºãããšãã§ããŸããã ãšãã°ã¢ ã§ã¯ãåºåè
ã»è³Œå
¥è
ã» ãã©ãããã©ãŒã㌠ãšããŠã®ã«ãŒã«äœãã»ã«ãŒã«ãç¶æããããã®éçšçå¯èœæ§ããšããå€é¢çãªèŠç¹ãåæã«æã€å¿
èŠããããŸãã ãã®å€é¢çãªãã©ã³ã¹æèŠãããä»åŸã©ã®ãããªãããã¯ãã«é¢ãã£ãŠã掻ããããPdMãšããŠã® çåæŠç¥ ã®æ žã ãšæããŠããŸãã â¡çµç¹ã®ããŠããŠã«å¯Ÿãã ã¬ãã¬ããž ãšãã°ã¢ ã«ã¯ã瀟æŽãé·ã人ãå€ãåšç±ããŠããŸãã å
茩æ¹ã¯ BUYMA ã®æŽå²ãèã§ç¥ããéå»ã®æåãšå€±æãäœéšããŠããŠããŸãã â»å¹³åå€ç¶å¹Žæ°ã¯6.3幎ïŒ2025幎10ææç¹) å
¥ç€Ÿåœåãç§ã¯èªåããŸã ç¥ããªãé åã«ã€ããŠäžå®ãæããŠããŸããã ããããå®éã«åããŠã¿ãŠæ°ã¥ããã®ã¯ããèªåããã¹ãŠãç¥ã£ãŠããå¿
èŠã¯ãªãããšããããšã§ããã éèŠãªã®ã¯ãç¥èãæã£ãŠãã人ãäœãæ°ã«ããŠããŠãã©ã®ãããªããŒã¿ããããçµç¹ãšããŠã©ãã§ãã©ã³ã¹ãåãã¹ãããèããæææ±ºå®ã«ç¹ããããšã§ãã å€ãã®ãããžã§ã¯ãã§ã¯ãéå»ã®äºäŸãããŒã¿ãèšå€§ã«ãããããåéšçœ²ã®æ
åœè
ã®èæ¯çè§£ãèæ
®ãã¹ãç¹ã®æ³å®ãäºåããåºãåãããšãå¯èœã§ãã äŸãã°ãã«ã¹ã¿ããŒãµããŒãã®ã¡ã³ããŒã«çžè«ãããšããéå»ã«é¡äŒŒã®ä»æ§å€æŽã宿œããéããããã£ãåãåãããæ¥å¢ããããšããå®äŸãæããŠãããŸãã çµç äŒç»ã®ã¡ã³ããŒã«çžè«ãããšãããã®åŠçãããŒã¯â幎åã«ããããçç±ã§å°å
¥ãããããšããèæ¯ãå
±æããŠãããŸãã ãŸããéå»ã®æææ±ºå®ã«é¢ããããã¥ã¡ã³ããæ®ã£ãŠãããããããŠããŠã®æ¢çŽ¢ãããããã®ã倧ããªå©ç¹ã§ãã èæ
®ããªããã°ãªããªãç®æãããšãã察å¿çãåãããšããæã®ã¡ãªããã»ãã¡ãªããã®æŽçããããããªããŸãã ãããã®ç¥èŠã¯ãçµç¹ã«èç©ããããããŠããŠãã§ãã ãšãã°ã¢ ã§ã¯ã誰ã«èãã°è¯ããããã©ã®ããŒã¿ãèŠãã°è¯ããããéå»ã®ã©ã®ããã¥ã¡ã³ããåç
§ããã°è¯ããããç¥ã£ãŠããã°ãå§åçã«éãã粟床ã®é«ãæææ±ºå®ãã§ããŸãã ãããŠãPdMã®åœ¹å²ã¯ããã®ããŠããŠã ã¬ãã¬ããž ãšããŠæŽ»çšããæé©ãªæææ±ºå®ãå°ãããšã§ãã ãã®çµç¹ç¥ãžã®ã¢ã¯ã»ã¹èœåã¯ãAIãé²åããŠã決ããŠä»£æ¿ãããªãã人éãªãã§ã¯ã®åŒ·ã¿ã ãšèããŠããŸãã â¢æææ±ºå®ã®è³ªãšã¹ããŒã ãšãã°ã¢ ã§ã¯ãéçºæ¡ä»¶ã«å¿ã㊠ã¹ã¯ã©ã ã ã¢ãžã£ã€ã« ã䜿ãåããªããéçºãé²ããŠããŸãã ãµãŒãã¹ã€ã³ãã©(SI)é åãäŸã«ãšããããžãã¹ãµã€ãã¯10ã15åçšåºŠããšã³ãžãã¢ã5ã8åçšåºŠãPdMã2åçšåºŠã§é²è¡ããŠãããå¯ã«é£æºããªããæœçãæšé²ããŸãã é©ããã®ã¯ãæææ±ºå®ã®ã¹ããŒããšè³ªã®äž¡ç«ã§ãã åè·ã§ã¯ãã¹ããŒãéèŠã§æœçãåããŠããŸããããããŒã¿ãäžè¶³ããŠããããã«ããã£ãŠã¿ãªããã°ããããªãããšããç¶æ³ãå€ããããŸããã äžæ¹ã ãšãã°ã¢ ã§ã¯20幎åã®ããŒã¿ãšããŠããŠãããããããéå»ã®é¡äŒŒæœçã§ã¯ããã ã£ããããã®ã»ã°ã¡ã³ãã®ãŠãŒã¶ãŒã¯ããåãããšããæ ¹æ ã«åºã¥ããæææ±ºå®ãã§ããŸãã ãŸããAI掻çšãç©æ¥µçã«é²ããããŠããŸããäŸãã°ã BUYMA ã«ã¯ãAIã§ããããæ©èœããããVertex AI SearchãGeminiãæŽ»çšãããã BUYMA ãããååææ¡ãå¯èœã«ãªããŸããã ããAIã§ãããããµãŒãã¹ã®ãªãã¥ãŒã¢ã«ãã«ã€ã㊠ãã®ããã«ãæŽå²ãšãããæ·±ãåå£ããšAIãšãããéãéå
·ããæã£ãŠããããšã§ãæææ±ºå®ã®è³ªãšã¹ããŒããåæã«é«ãŸã£ãŠããŸãã AIã«ãã£ãŠè§£æ±ºã§ãã課é¡ã®éãšå¹
ã¯æ¡åŒµãããŠããŸããããäœãè§£ãã¹ãããã倿ããã®ã¯äººéã®åœ¹å²ã§ãã ãããŠããã®å€æã®ç²ŸåºŠãé«ããã®ãããããã¯ãã®åã¿ããåŸããããç©äºã®èŠæ¹ããšãæææ±ºå®ããã»ã¹ã®å€æè»žãã§ãã æŽå²ã®éããšåãåãé£ãã ãããŸã§ããžãã£ããªé¢ãäžå¿ã«æžããŠããŸããããæ£çŽã«èšãã°ãèŠåŽãããã€ã³ãããããŸãã åéšçœ²ãšã®èª¿æŽãšãæŽå²ã®éããèæ
®ããæææ±ºå®ã¯ãæ³å以äžã«é£ãããã®ã§ããã 1ã€ã®ã«ãŒã«ã倿Žããã«ããŠãããã®å€æŽãã·ã¹ãã çã«ãããžãã¹çã«ãèæ¯ãèšå€§ã«ãããããå®ç¹ãèŠãŠçµè«ãåºãããšãã§ããŸããã è€æ°ã®éšçœ²ã®æèŠãèããéå»ã®ããã¥ã¡ã³ããèªã¿èŸŒã¿ãããŒã¿ãåæãããã㊠å
šäœæé© ã远æ±ããã ãã®ããã»ã¹ã¯ãã¹ããŒãéèŠã®æ°èŠäºæ¥ãšã¯ç°ãªãé£ããããããŸãã ãããããã®ãé£ãããããããPdMãšããŠã®æé·ãä¿ããŠãããŠãããšæããŠããŸãã ãªããªããä»åŸã©ã®ãããªãããã¯ãã«é¢ãã£ãŠã掻ãããé¢ãšæ·±ããèããªãããããã¯ããé²è¡ããããšããå®è·µç¥ãçµéšã§ããŠããããã§ãã ä»åŸãã£ãŠããããããš ãã®1幎éã§ãç§ã¯ãããã¯ãããç¹ãã§ã¯ãªããé¢ãã§æããèŠåº§ãæã«å
¥ããŸããã SELLé åãšSIé åãæšªæããŠæ
åœããããšã§ãåºåè
ã®äœéšã賌å
¥è
ã®äœéšããããŠããããæ¯ããåºç€( çµç ã»é
éã»æ±ºæž)ããã¹ãŠãç¹ãã£ãŠããããšã宿ããŠããŸãã ãããããŸã ãé¢ãã®ãã¹ãŠãçè§£ããŠããããã§ã¯ãããŸããã ä»åŸã¯ãäžéšéã ãã§ãªãããŠãŒã¶ãŒäœéšå
šäœããé¢ãã§æãã圢ã«ããŠããããšã«ææŠããããšèããŠããŸãã ãšãã°ã¢ ã«ã¯ãæŽå²ãšãããæ·±ãåå£ããšãAIãšãããéãéå
·ããæã£ãŠããŸãã ãã®ç°å¢ã ãããããå¹
åºããæ·±ãããããŠã圢ãã«ããŠãé¢ãšããŠã®ãããã¯ã磚ãã«åãçµãããšç¢ºä¿¡ããŠããŸãã BUYMA ã¯20åšå¹Žãè¿ãããããªãé²åãç¶ããŠããŸããç§èªèº«ãããã®èç©ã®äžã§ãPdMãšããŠã® çåæŠç¥ ã磚ãç¶ããŠãããããšæããŸãã ãšãã°ã¢ ã§åãé
å æåŸã«ã ãšãã°ã¢ ã§åãé
åããŸãšããŸãã ãããã¯ãã»äººæé¢ã§ãã£ãããšããåå£ããã 20幎åã®ããŒã¿ãšããŠããŠããããŠç€ŸæŽã®é·ãã¡ã³ããŒãæã€ç¥èŠããããã¯ãæ°èŠäºæ¥ã§ã¯æ±ºããŠåŸãããªããåã¿ãã§ãã éå»ã®æææ±ºå®ã«é¢ããããã¥ã¡ã³ããæ®ã£ãŠãããããããŠããŠã®æ¢çŽ¢ããããããèæ
®ãã¹ãç¹ã®æŽçãå§åçã«éããªããŸãã å¹
åºãã»é«éã«ãã£ã¬ã³ãžãã§ãã AI掻çšã ã¢ãžã£ã€ã« éçºã«ãããæææ±ºå®ã®ã¹ããŒããšè³ªãäž¡ç«ãããŠããŸãã è¥æã§ãè£éãæã£ãŠãããžã§ã¯ããæšé²ã§ããç°å¢ã§ãã ãAIã§ããããæ©èœãé¡äŒŒç»åæ€çŽ¢ã®å
補åãªã©ãæå
ç«¯ã®æè¡ã掻çšããæœçã«åãçµããŸãã ãã©ã³ã¹æèŠã磚ããã çµç ã»åºåè
ã»ã«ã¹ã¿ããŒãµããŒãã»ãããã¯ãå
šäœãšããå€é¢çãªèŠç¹ãæã€ããšã§ãã©ã®ãããã¯ãã«ãéçšããã究極ã®ãã©ã³ã¹æèŠãã身ã«ã€ããŸãã ããå°éæ§ããæ±çšæ§ããã§è¿·ãããªããžã ãšãã°ã¢ ã«ã¯ãå°éæ§ãæ·±ããªãããæ±çšæ§ãé«ããããç°å¢ããããŸãã AIã«å¥ªãããªãçµç¹ç¥ã ã¬ãã¬ããž ãšããŠæŽ»çšãããããã¯ãéçºãéããŠèªå·±æé·ã§ããå Žæã§ãã ãããããªãããã£ãªã¢åœ¢æã«äžå®ãæããŠãããªãã ãšãã°ã¢ ãšãããæåŒ·ã®åå£ãã§ãäžç·ã«ãããã¯ãã磚ããŠãããŸãããã æ ªåŒäŒç€Ÿ ãšãã°ã¢ ãã¹ãŠã®æ±äººäžèЧ hrmos.co


















